domingo, 9 de setembro de 2007

Novo domínio: www.humanhrm.com

O HumanHRM tem novo domínio... por favor consulte em http://www.humanhrm.com/

Este blog encerra a partir de hoje neste domínio e passa a estar disponível em http://blog.humanhrm.com/

Poderá também consultar os fórums em http://forum.humanhrm.com/

sexta-feira, 31 de agosto de 2007

Versão 1.0.708.3001

Encontra-se disponível, para testes, através do sistema de actualizações automáticas, a versão 1.0.708.3001.

NB: É necessário à actualização do esquema da base de dados para a versão 1.0.0708.3001, instalando o script hrm_db_schema_v1.0.0708.3001.sql constante no processo de actualização.

Novidades da versão 1.0.708.3001:

  • Alteração do Menu de Navegação do formulário principal (Substituição do Ribbon por Menustrip, por motivos de performance)
  • Desenvolvimento do seguinte objectos da Área Pedagógica:
    • Bolsa de Instalações
  • Alteração da aparência dos formulários com a inclusão de GradientForms
  • Agrupamento das diversas classes nos seguintes namespaces:
  1. HRM.Components.Business.dll
  2. HRM.Components.Data.dll
  3. HRM.Components.Security.dll
  4. HRM.Components.Windows.Forms.dll
  • Ajuda nos seguintes formulários:
  1. Estado de Equipamento
  2. Situação do Equipamento
  3. Instalações
  4. Tipos de Instalações
  5. Situação de Instalações
  • Adicionada a possibilidade de gravar um registo sem sair do respectivo formulário
  • Adicionada nova licença para Demonstração, válido até 30-09-2007
  • Correcções de erros detectados nas versões anteriores
  • Novo esquema da base de dados: hrm_db_schema_v1.0.0708.3001.sql

quinta-feira, 30 de agosto de 2007

Krypton Toolkit 2.6.0

Está disponível para download, o fantástico Krypton Toolkit da ComponentFactory.
É grátis e inclui toda a documentação e exemplos com código fonte.

Novidades da versão:

  1. KryptonCheckBox control added
  2. KryptonRadioButton control added
  3. KryptonDataGridView control added
  4. ToolTips added for button specs
Use o seguinte link para download
http://www.componentfactory.com/downloads/KryptonToolkit260.zip

quarta-feira, 29 de agosto de 2007

Definição do objecto PEDInstalacao - Parte II

Na revisão do objecto PEDInstalacao foi necessário providenciar uma série de alterações de forma a permitir que as instalações possam herdar o estado das situaçoes que lhe forem atribuídas.

Desta forma, foram alteradas as seguinte classes:

  1. PEDInstalacao
  2. PEDSituacaoInstalacao

1. PEDInstalacao:

Foram adicionados 2 propriedades:
  • Data Início da Situação
  • Data Fim da Situação

2. PEDSituacaoInstalacao:

Foi adicionada 1 propriedade:
  • Estado da Situação
Esta alteração permitirá criar vários tipos de situações activas e vários tipos de situações inactivas, com datas de início e fim independentes por instalação.

Exemplo de uma situação Activa:



Exemplo de uma instalação com situação inactiva:



Exemplo de uma instalação com situação activa:

terça-feira, 28 de agosto de 2007

Definição do objecto PEDInstalacao

A próxima versão, a disponibilizar através do sistema das actualizações automáticas, já deverá permitir realizar os testes ao objecto PEDInstalacao, membro do namespace HRM.Components.Business.

  • Diagrama de classes:


  • Algumas imagens do objecto em acção:











O Apetrechamento ainda não estará disponível porque ainda não foi definido qual o seu conteúdo.

quarta-feira, 22 de agosto de 2007

Clean look...

Aproveitando a sugestão do Sérgio Mesquita, postada anteriormente, que achava que os forms eram muito cinzentos, resolvi dar-lhes um pouco mais de 'vida', e um aspecto mais 'limpo e harmonioso'.

Desta forma, forma incorporados no namespace HRM.Components.Windows.Forms, duas novas classes que herdam de BaseForm.vb:

  1. BaseGradientForm.vb (herança de BaseForm)
  2. BaseDetailsForm.vb (herança de BaseGradientForm)


Alguns exemplos de utilização destas classes:







E para se melhor notar as diferenças, aqui estão os mesmos forms que herdavam directamente de BaseForm.vb:







Não é difícil perceber que o aspecto dos forms melhorou bastante.
Claro está, que o aspecto é sempre subjectivo... depende dos gostos de cada um.

Porém, compete ao utilizador escolher o esquema de cores que pretende utilizar, já que os novos forms permitem alterar o aspecto.







Como sempre, fica à vossa imaginação a utilização destes componentes.

quinta-feira, 16 de agosto de 2007

Validações de formulários... simplificado...

Validar formulários sempre foi, e será, uma tarefa desagradável.

Quantas linhas de código escritas em cada formulário para validar se uma textbox tem o valor esperado, antes de gravar na base de dados?

E se existisse um componente que fosse arrastado para o form e que automáticamnte validasse as textbox, independentemente do tipo de informação que se espera delas?

Pois é isso mesmo que é utilizado no HRM. Validators!!!
Nem pensem que vou escrever mais linhas de código para validar se o utilizador escreveu alguma informação na designação de um formulário.

O namespace HRM.Components.Windows.Forms incorpora 3 validators:

  • RangeValidator - valida valores mínimos e máximos
  • RegularExpressionValidator - valida utilizando expressões regulares
  • RequiredFieldValidator - valida campos obrigatórios


Como utilizar os Validators?

Num form, adicionar uma textbox (txtname), command button(cmdOk) e um RequiredFieldValidator(RequiredFieldValidator1).

Na propriedade ControltoValidate do RequiredFieldValidator1 definir txtname e em ErrorMessage a mensagem que pretendem mostrar ao utilizador.

No evento click do cmdOk, insiram o seguinte código:

If BaseValidator.IsFormValid(Me.components) Then
Me.Close()
Else
MessageBox.Show("Ocorreram erros na validação do formulário.", "Validação do formulário", _
MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If

Agora, para testar, compilem e tentem selecionar o cmdOk sem preencher a txtName, para verem a validação mostrar ao utilizador que algo não está correcto.



Muito mais fácil e cómodo! Sem desculpas para não validar formulários.
Poderão também criar outro tipo de Validators para satisfazer as vossas necessidades específicas.

Criação dos ficheiros de ajuda




Estão criados os ficheiros de ajuda para o formulário dos equipamentos, serão melhorados ao logo do tempo conforme seja desenvolvido esse formulário.


quarta-feira, 15 de agosto de 2007

Versão 1.0.708.1501

Encontra-se disponível, para testes, através do sistema de actualizações automáticas, a versão 1.0.708.1501.

NB: É necessário à actualização do esquema da base de dados para a versão 1.0.0708.1401, instalando o script hrm_db_schema_v1.0.0708.1401.sql constante no processo de actualização.

Novidades da versão 1.0.708.1501:

  • Desenvolvimento do seguinte objectos da Área Pedagógica:
    • Bolsa de Equipamentos
  • Ajuda nos seguintes formulários:
    • Formador
    • Tipo de Equipamento
  • Conclusão da Pesquisa de Projectos de Formação
  • Correcções de erros detectados nas versões anteriores
  • Novo esquema da base de dados: hrm_db_schema_v1.0.0708.1401.sql

terça-feira, 14 de agosto de 2007

Component factories... como funcionam?

Aproveitando a pausa no desenvolvimento do HRM, resolvi elaborar este pequeno artigo sobre como funcionam as component factories dos objectos que constituem a aplicação.

Qualquer objecto que esteja incluído no namespace Business Components tem a seguinte estrutura:

  • Definição e propriedades (object)
  • Collection of (object)
  • Factory
A titulo de exemplo vou utilizar o seguinte objecto, utilizado para gerir a tabela de Habilitações Literárias:



1.
CARHabLit - Definição e propriedades
Esta classe não é mais do que um 'espelho' da tabela constante na base de dados, em que as suas propriedades são as mesmas que os campos.
A instanciação do objecto representará um determinado registo no servidor.

2. CARHabLitCollection - Collection (of CARHabLit)
Esta classe, herança de Public Class Collection(Of T), membro de System.Collections.ObjectModel, representa o conjunto de objectos CARHabLit. Ou seja a sua instanciação representa um conjunto de determinados registos no servidor. Por ser uma herança de Collection(Of T), significa que herda todas as funcionalidades necessárias para gerir o seu conjunto de items, nomeadamente as propriedades Count, Items() e os procedimentos Clear, Contains, Add, Remove, etc...

3. CARHabLitFactory - Factory
Esta é a classe que tem a responsabilidade de estabelecer a ligação com a base de dados e tratar de todas as actualizações necessárias...
Como se trata de uma classe totalmente encapsulada, não sabe como fazer a ligação ao servidor de base de dados, para esse efeito, será necessário fornecer-lhe uma ligação válida (As SqlConnection) para se instanciar.
Ao contrário das anteriores, a instanciação desta classe não representa nenhum conjunto de registos, ao invés representa todo o conjunto de funcionalidades disponíveis para o programador interagir com a base de dados.

Exemplo de aplicação:
Passos para carregar todos os registos constantes na tabela de Habilitações Literárias:
  • instanciar um objecto do tipo CARHabLitFactory(objCARHabLitFactory), fornecendo-lhe uma Connection (As SqlConnection) previamente criada.
  • instanciar um objecto do tipo CARHabLitCollection(objCARHabLitColl) para conter todos os objectos do tipo CARHabLit
  • executar o procedimento LoadRecords do CARHabLitFactory para cima do CARHabLitCollection:
    objCARHabLitColl = objCARHabLitFactory.LoadRecords
  • A partir deste momento pode-se carregar uma listview ou outra lista qualquer com os items do objCARHabLitColl e no fim destruí-lo para poupar recursos.
Outros exemplos poderiam ser dados, mas penso ter sido claro, pelo que a partir daqui deixo à vossa imaginação as funcionalidades que poderão implementar nos vossos sistemas...

Definição do objecto PEDEquipamentoLibrary.dll - Parte V

A parte gráfica do objecto PEDEquipamentoLibrary.dll está concluída para se iniciar os testes.

Falta apenas a ligação ao fornecedor do equipamento, objecto de entidades genéricas que aguarda definição.







segunda-feira, 13 de agosto de 2007

Definição do objecto PEDEquipamentoLibrary.dll - Parte IV

Na revisão do objecto PEDEquipamentoLibrary.dll foi necessário efectuar algumas alterações na estrutura existente e adicionar dois novos grupos de classes.

Com esta alteração, as propriedades Situação e Estado de Conservação deixam de ser campos fixos para se encontrarem tabeladas. Desta forma será possível criar várias situações e vários estados de conservação.

Durante esta semana será disponibilizada uma nova versão da aplicação para testar este objecto.



sábado, 11 de agosto de 2007

Finalmente, o Fórum...

Finalmente está disponível o fórum de discussão do HRM.
O link está disponível no menu de navegação da página HRM.

Não se esqueçam de se registarem e participar.

quarta-feira, 8 de agosto de 2007

Definição do objecto PEDEquipamentoLibrary.dll - Parte III

A primeira parte do desenvolvimento do GUI que instancia o objecto PEDEquipamentoLibrary.dll está concluído com a criação dos seguintes módulos:

  • PEDTipoEquipamentoDetails.vb
  • PEDTipoEquipamentoList.vb

segunda-feira, 6 de agosto de 2007

Definição do objecto PEDEquipamentoLibrary.dll - Parte II

A segunda e última parte da definição do objecto PEDEquipamentoLibrary.dll está concluída, com a inclusão das seguintes classes que permitem fazer a ligação entre PEDEquipamento.vb e PEDTipoEquipamento.vb, nomeadamente nas propriedades EquipamentoTipoId e Id.

O próximo passo será desenvolver o GUI que vai utilizar estas funcionalidades.
A próxima versão, que deverá estar disponível em meados de Agosto, já deverá incorporar este novo componente, bem como um novo esquema de base de dados.

quinta-feira, 2 de agosto de 2007

Definição do objecto PEDEquipamentoLibrary.dll

Comecei hoje a definição do objecto HRM.Components.PEDEquipamentoLibrary.dll...
Este objecto terá as funcionalidades necessárias para gerir a tabela de Equipamentos.

A próxima fase será definir o objecto PEDTipoEquipamentoLibrary.dll que fará a ligação com a propriedade EquipamentoTipoId

Pesquisa de Projectos

Uma das funcionalidades que estava por concluir no objecto HRM.Components.PRJProjectoFormLibrary.dll era a pesquisa de projectos.

Apesar de já ter sido disponibilizada na versão 1.0707.2901, continha alguns erros pelo que na nova versão deverá estar completamente operacional.

O que é o HRM?

Antes de tudo, obrigado por visitar o blog de desenvolvimento da aplicação HRM.

O HRM é um ERP dirigido à gestão de recursos humanos. Está a ser desenvolvido por Rui Ribeiro e Nuno Costa.

As tecnologias utilizadas, e que provavelmente constituirão grande parte dos assuntos neste blog, são Visual Basic 2005, SQL Server, XML e HTML...

Poderá consultar a página do HRM, aqui.

O objectivo deste blog é proporcionar um acompanhamento dum projecto de desenvolvimento de software, para estudantes, programadores e profissionais de recursos humanos...

Comentários e sugestões serão sempre bem vindos.