AlfrescoComponents

Un article de Bluexml.com.

Home Official WebSite Download Forum


BlueXML has developed a set of Alfresco Component to improve the quality of Alfresco. The main goal is to add new features in the web client. This components make available to all and are free. Here is a small description of this components :

  • Tabbed Property Sheet Component to improve the view of content
  • BlueXML Association Editor Component to improve the edit and the view of association
  • BlueXML Browse Component to improve the view of content (icons, names...)
  • BlueXML Group Management Component to make possible to manage groups by web service


Sommaire

Tabbed Property Sheet Component

This component give the possibility to represent properties of a content with tab. It is possible too to choose between horizontal and vertical tab. To use this component, you must decompress the file in the Afresco installation directory. After, all the configuration is in the web-client-config-custom.xml.

You must add this code in the root element :

<plug-ins>
  <element-readers>
   <element-reader element-name="tab-panels" 
     class="hr.virtus.config.TabPanelsElementReader" />
  </element-readers>
</plug-ins>

After, you can use the component. By example :

<config evaluator="node-type" condition="model:org_bluexml_alfresco_model_Report">
  <property-sheet>
    <show-property name="model:org_bluexml_alfresco_model_Report_date"/>
    <show-association name="model:org_bluexml_alfresco_model_Report_approvedBy"/>
  </property-sheet>
	
  <tab-panels orientation="vertical">
    <tab-panel id="tab:model:Report"
       label-id="org_bluexml_alfresco_model_Report_title"
       description-id="org_bluexml_alfresco_model_Report_description">
      <property name="model:org_bluexml_alfresco_model_Report_date" />
      <property name="model:org_bluexml_alfresco_model_Report_approvedBy"/>
    </tab-panel>
		
    <tab-panel id="tab:contentInformation" label="Content information" description="Content Information">
      <property name="name"/>
      <property name="title"/>
      <property name="description"/>
      <property name="author"/>
    </tab-panel>
  </tab-panels>
</config>

BlueXML Association Editor Component

Image:Crmmodel_associationmodule_02.gif Association are not very simple to use with the default installation of Alfresco. First, we must reload after each search, add or delete actions. Second, we must create linked content before to create the main content. This approach is not very intuitive. Endly, it's not possible to navigate between contents when they are linked.

The component includes :

  • a new vizualisation to edit association and child association :
    • use of Ajax for the search, the addition and the suppression
    • a new link to add dynamically content and to link easily
  • a new vizualisation to view association and child association :
    • a web link on each linked content to view more informations in an Ajax panel
Image:Crmmodel_associationmodule_01.gif

BlueXML Browse Component

Image:Crmmodel_browsemanagement_01.gif It's possible to manage structured content with Alfresco. The visualization is not very friendly. BlueXML has added few features to improve the use of web client. This component includes :
  • the possibility to use custom icons for each type of content
  • the possibility to use custom name for each type of content e.g. it's possible, for a contact per example, to see the firstname's contact and the lastname's contact instead of the name of the content.
  • the possibility to view directly the content by a template instead of to download it. The download of a structured content is generally not interessant.
<managed-bean>
  <managed-bean-name>BrowseBean</managed-bean-name>
    <managed-bean-class>org.alfresco.bluexml.CustomBrowseBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
      <property-name>customTypes</property-name>
      <list-entries>
        <value>{http://www.bluexml.com/model/content/model/1.0}org_bluexml_alfresco_model_Meeting</value>
        <value>{http://www.bluexml.com/model/content/model/1.0}org_bluexml_alfresco_model_Contact</value>
        <value>{http://www.bluexml.com/model/content/model/1.0}org_bluexml_alfresco_model_Report</value>
      </list-entries>
    </managed-property>
    <managed-property>
      <property-name>viewByType</property-name>
      <map-entries>
        <map-entry>      				
          <key>{http://www.bluexml.com/model/content/model/1.0}org_bluexml_alfresco_model_Contact</key>
          <value>normal:firstName,lastName</value>
        </map-entry>
      </map-entries>
    </managed-property>
    <managed-property>
      <property-name>navigator</property-name>
      <value>#{NavigationBean}</value>
    </managed-property>
    <managed-property>
      <property-name>nodeService</property-name>
      <value>#{NodeService}</value>
    </managed-property>
    <managed-property>
      <property-name>searchService</property-name>
      <value>#{SearchService}</value>
    </managed-property>
    <managed-property>
      <property-name>lockService</property-name>
      <value>#{LockService}</value>
    </managed-property>
    <managed-property>
      <property-name>dictionaryService</property-name>
      <value>#{DictionaryService}</value>
    </managed-property>
    <managed-property>
      <property-name>fileFolderService</property-name>
      <value>#{FileFolderService}</value>
    </managed-property>
  </managed-bean>

BlueXML Group Management Component

It's possible to organize the tree of groups by the models. To use the generation, Alfresco must provide the possibility to manage groups by a web service. Per example, we can invoke the service with this URL :

http://localhost:8080/alfresco/ajax/invoke/GroupManagementBean.addRootGroup?rootGroupName=MY_ROOT_GROUP
http://localhost:8080/alfresco/ajax/invoke/GroupManagementBean.addGroup?parentGroupName=MY_PARENT_GROUP&childGroupName=MY_CHILD_GROUP