19 Aug

Indonesian Language Pack for Alfresco 4.0D

Softbless has released Indonesian Language Pack for Enterprise Content Management solution: Alfresco version 4.0D. 
To download and try it, access: https://www.softbless.com/public-downloads/Alfresco-4.0D-Language-pack-Bahasa-Indonesia-Softbless.zip
In the zip file, there is also a manual for installation and usage.
If you find bugs or want to contribute to this translation, please contact us at info@softbless.com.

30 Jul

Softbless Solutions has Perform Scrum Training

Softbless Solutions has Perform Scrum Training Today, Softbless Solutions as specialized in open source solutions in providing Liferay, Alfresco, Sugarcrm, and Drupal has performed Scrum Training as its business support. What is Scrum Training? Scrum training, is a training that focuses on project management institutions for managing software project and product or application development by iteratively and incrementally process. This training is performed to the institution that planned to go ahead in their business. Scrum training is emphasizing on teamwork, frequent deliveries of working software, close on the customer for their collaborations, and responsible for responding the business changing. Briefly, Scrum is a process used for agile software development. Softbless Solutions has Perform Scrum Training Today, Softbless Solutions as specialized in open source solutions in providing Liferay, Alfresco, Sugarcrm, and Drupal has performed Scrum Training as its business support. What is Scrum Training? Scrum training, is a training that focuses on project management institutions for managing software project and product or application development by iteratively and incrementally process. This training is performed to the institution that planned to go ahead in their business. Scrum training is emphasizing on teamwork, frequent deliveries of working software, close on the customer for their collaborations, and responsible for responding the business changing. Briefly, Scrum is a process used for agile software development. In Scrum training the teamwork should make a detailed description how is the projects should be done. When they have performed their project, they will know how to get the solution based on their problem. For that reason, this is explained how the project develops its sprint according their desired results. Most methodologies used in this training are Validation criteria, and Exit criteria (ETVX). There are two positions in the teamwork of Scrum training, a ScrumMaster and a product owner. This position is termed as specific individuals. Role of a ScrumMaster is coaching the team, and support its team members to perform the Scrum framework to gain the top level. In addition, the role of product owner is characterized as a business activity, client, consumer, or a director to show the teamwork develops the appropriate product. Basic activity on Scrum Training Basic activity on Scrum training is Scrum sprint. As mention before, iterative and incremental process is a description of Scrum training. The aims of this process are split the project into a series of consecutive sprints. Initial activity on Scrum training is known as sprint planning meeting. In this activity, the teamwork and product owner will talk about main priority activity according Scrum product catalog then create a sprint backlog as the list of sprint project task list performed. Then, for the next meeting team member discuss their daily activity related to the project, not more than 15 minutes. At the end of the project period, all team members should present their sprint review. The aims of the review are to obtain feedback from the product owner. Benefit on Scrum Training When the institutions have performed the Scrum training, project that held at this institution will be sprints on their progress, as an iteration activity. Hence, Scrum training is preferred on the projects that are shifting frequently or highly changing in software development. The teamwork is capable in performing cross functional team. In addition, the team will understand about what is self-organizing according Scrum training. In Scrum training, generally there is no overall a team leader, all problems will be discussed and decided based on overall team opinion. As a cross functional team, every personal are responsible in implementing the overall business target goal. In addition, well Scrum training will help highest business value features. Based on industry data, software feature are only used about a half of it complete features. Supported by Scrum training, your project will be able perform with time schedule. Scrum training has shown how the teamwork takes their project and self-organizing their own project. When the team has passed the training, significantly, developers or the team will improve their quality and will be able manage their employee retention. Agile methodology on Scrum training will increase the quality of the deliverable project time schedule, as a reason of the strict iteration rules. Agile methodology also provides better estimates and spends less time unnecessary activity. As a result, as a benefit on Scrum training is achieved higher customer satisfaction rate, in general. Furthermore, according to a Certified ScrumMaster Trainer Craig Larman, Scrum training is easily integrated with other iterative methods. Some others integrated methods are Unified Process and Extreme Programming, including test-driven development, agile modeling, use cases, user stories, and etc. Additionally, benefits of Scrum training are emphasized on continuing inspect-adapt improvement cycles and self-organizing systems has subtle implications. As we explained about, what is Scrum training and benefit of Scrum training for the project, Softbless Solution which is providing an open source solution is performed Scrum training methodology for our latest project.

27 May

Activiti BPM in Alfresco


Alfresco-Activiti

Alfresco, the open platform for document and enterprise content management has launched a new workflow engine integrated business process management program called Activiti. This BPMN2.0 integration is fully compliant with industry standards and extends Alfresco’s workflow features that allow for more flexibility between Alfresco and other similar applications. The integration is offered through an update to the Alfresco Community and is available for immediate download.

By replacing jBPM with Activiti, this is just the beginning for bpm programs that signal the start of seamless integrated environments to combine enterprise content management, adaptive case management with the business process management. Alfresco sees this as a way to move business program management out of it’s nice and open it up to a larger range of users for greater innovations.
Activiti is a lightweight workflow platform designed to assist developers, system administrators and business users to deliver superbly effectively driven content within the Alfresco community.  With the exceptionally quick and rock solid BPMN 2.0 Java based process engine, activiti provides users flexibility and more out of the box functionality with similar applications.

The preview release of Activiti will allow users to compare existing jBPM workflow while experimenting with the integration of other tools to create different workflow applications.  This integration of Alfresco’s Activiti platform is a key factor for any organization wanting to review and approve content requiring complex processes such as contracts, budgets, press releases and sales forecasts. This empowers the document collaboration process without losing control of traceability or the latest revision versions.

Activiti, allows developers to define new BPMN 2.0 workflow definitions and add them to Alfresco document centric process management.  Organizations can, for the first time, leverage the standalone BPMN 2.0 engine within their own content repository platforms with the Alfresco integration system. Since its launch Activiti has worked as an independently run and branded open source project.

This type of flexible customization is exactly the type of services that can be found with Softbless.  As Alfresco service provider and official Liferay partner in Indonesia(2011-2012), Softbless offers service and the ability to easily make enterprise content management adjustments all without the hassle of major technical modifications. 

21 May

SSO Setting - CAS and Alfresco

Prerequisite:

  • Alfresco and CAS should use the HTTPS protocol
  • Let's say, CAS used port 433 and Alfresco 9443
  • Set Alfresco so it can redirect from port 8080 tobe 9443
  • Make sure Alfresco and CAS can be accessed with domain name (not recomended with IP Address), in this tutorial use:
    • Alfresco = http://alfresco.local
    • CAS = http://cas.softbless.local
Form Login CAS

1.       Add this configuration in alfresco-global.properties file:

#CAS

authentication.chain=cas:external

2.       Copy service.xml to C:\Alfresco\tomcat\shared\classes\alfresco\extension

3.       Copy commonValues.properties to C:\Alfresco\tomcat\shared\classes\alfresco\extension\messages

# CAS

      cas_url=https://cas.softbless.local:443

      cas_alfresco_url=https://alfresco.local:9443/alfresco

4.       Copy mycompany folder into C:\Alfresco\tomcat\shared\classes\alfresco\extension\templates\webscripts\org

5.       Copy custom-slingshot-application-context.xml to C:\Alfresco\tomcat\shared\classes\alfresco\web-extension folder. Make sure same with below configurations:

<!-- Override Logout Controller - to expire Alfresco tickets -->

<bean id="logoutController" class="org.wwarn.cms.authentication.servlet.CASSlingshotLogoutController">

       <property name="cacheSeconds" value="-1" />

       <property name="useExpiresHeader"><value>true</value></property>

       <property name="useCacheControlHeader"><value>true</value></property>

       <property name="connectorService" ref="connector.service" />

       <!-- if blank assumes the same as Share -->

 

       <property name="casHost"><value>https://cas.softbless.local:443</value></property>

       <property name="casPath"><value>logout</value></property>

   </bean>

6.       Edit share-config-custom.xml file from C:\Alfresco\tomcat\shared\classes\alfresco\web-extension :

<config evaluator="string-compare" condition="Server">

        <server>

<!-- Enable and adjust the following settings to allow for external access URLs to the

WebScript Framework - to return an externally accessible address for absolute url generation.-->

              <scheme>https</scheme>

              <hostname>alfresco.local</hostname>

              <port>9443</port>

        </server>

    </config>

    <!--Overriding endpoints to reference a remote Alfresco server &ndash;&gt;-->

    <config evaluator="string-compare" condition="Remote">

        <remote>

            <!-- Authenticator implementation used in CAS authentication scenario,

                overrides the default alfresco-ticket authenticator

                <class>org.alfresco.connector.AlfrescoAuthenticator</class> -->

            <authenticator>

                <id>alfresco-ticket</id>

                <name>Alfresco Authenticator</name>

                <description>Alfresco Authenticator</description>

                <class>org.mycompany.cms.authentication.CasAlfrescoAuthenticator</class>

            </authenticator>

            <!-- Connects to an Alfresco instance using ticket-based authentication,

                overrides the default alfresco connector to use ticket authenticator-->

            <connector>

                <id>alfresco</id>

                <name>Alfresco Connector</name>

                <description>Connects to an Alfresco instance using ticket-based authentication</description>

                <class>org.springframework.extensions.webscripts.connector.AlfrescoConnector</class>

                <authenticator-id>alfresco-ticket</authenticator-id>

            </connector>

            <!-- Endpoint using external authentication via CAS-->

            <endpoint>

                <id>alfresco</id>

                <name>Alfresco - user access</name>

                <description>Access to Alfresco Repository WebScripts that require external user authentication

                </description>

                <connector-id>alfresco</connector-id>

                <endpoint-url>https://alfresco.local:9443/alfresco/s</endpoint-url>

                <identity>user</identity>

                <external-auth>true</external-auth>

            </endpoint>

        </remote>

    </config>

7.       Edit webscript-framework-config-custom.xml file from C:\Alfresco\tomcat\shared\classes\alfresco\web-extension :

<config evaluator="string-compare" condition="Remote">

<remote>

<endpoint>

              <id>alfresco-noauth</id>

              <name>Alfresco - unauthenticated access</name>

<description>Access to Alfresco Repository WebScripts that do not require authentication</description>

              <connector-id>alfresco</connector-id>

              <endpoint-url>https://alfresco.local:9443/alfresco/s</endpoint-url>

              <identity>none</identity>

       </endpoint>

       <endpoint>

              <id>alfresco</id>

              <name>Alfresco - user access</name>

<description>Access to Alfresco Repository WebScripts that require user authentication</description>

              <connector-id>alfresco</connector-id>

              <endpoint-url>https://alfresco.local:9443/alfresco/s</endpoint-url>

              <identity>user</identity>

       </endpoint>

       <endpoint>

              <id>alfresco-feed</id>

              <name>Alfresco Feed</name>

<description>Alfresco Feed - supports basic HTTP authentication</description>

              <connector-id>http</connector-id>

              <endpoint-url>https://alfresco.local:9443/alfresco/s</endpoint-url>

              <basic-auth>true</basic-auth>

              <identity>user</identity>

       </endpoint>              

       </remote>

</config>

<config evaluator="string-compare" condition="Remote">

<remote>

            <keystore>

                <path>alfresco/web-extension/alfresco-system.p12</path>

                <type>pkcs12</type>

                <password>alfresco-system</password>

            </keystore>

            <endpoint>

                <id>alfresco</id>

                <name>Alfresco - user access</name>

<description>Access to Alfresco Repository WebScripts that require user authentication</description>

                <connector-id>alfresco</connector-id>

                <endpoint-url>https://alfresco.local:9443/alfresco/wcs</endpoint-url>

                <identity>user</identity>

                <external-auth>true</external-auth>

                <authenticator-id>alfresco-ticket</authenticator-id>

            </endpoint>

        </remote>

    </config>

8.       Edit relogin.jsp file from C:\Alfresco\tomcat\webapps\alfresco\jsp, tambahkan code di bawah sebelum tanda %> response.addCookie(authCookie);

// deconnection CAS

response.sendRedirect("https://cas.softbless.local:443/logout");

9.       Copy alfresco-cas.jar and cas-client-core-3.1.12.jar library into C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\lib folder

10.   Copy web.xml file into C:\Alfresco\tomcat\webapps\alfresco\WEB-INF, make sure CAS code same with below configurations:

<!-- Adding CAS Authentication filters and replacing Alfresco's default one -->

   <filter>

      <filter-name>Authentication Filter</filter-name>

      <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>

      <init-param>

         <param-name>casServerLoginUrl</param-name>

         <param-value>https://cas.softbless.local:443/login</param-value>

      </init-param>

      <init-param>

         <param-name>serverName</param-name>

         <param-value>https://alfresco.local:9443</param-value>

      </init-param>

   </filter>

   <filter>

      <filter-name>CAS Validation Filter</filter-name>

      <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>

      <init-param>

         <param-name>casServerUrlPrefix</param-name>

         <param-value>https://alfresco.local:443</param-value>

      </init-param>

      <init-param>

         <param-name>serverName</param-name>

         <param-value>https://alfresco.local:9443</param-value>

      </init-param>

   </filter>

   <filter>

      <filter-name>Alfresco CAS Authentication Filter</filter-name>

      <filter-class>org.mycompany.cms.authentication.CasAuthenticationFilter</filter-class>

   </filter>

   <!-- End adding CAS authentication filters -->

11.   Copy cas-client-core-3.1.12.jar, logoutCAS.jar, and share-CAS.jar library into C:\Alfresco\tomcat\webapps\share\WEB-INF\lib folder

12.   Copy web.xml file into C:\Alfresco\tomcat\webapps\share\WEB-INFmake sure CAS code same with below configurations :

<!-- Adding CAS Authentication filters -->

   <filter>

      <filter-name>CAS Authentication Filter</filter-name>

      <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>

      <init-param>

         <param-name>casServerLoginUrl</param-name>

          <param-value>https://cas.softbless.local:443/login</param-value>

      </init-param>

      <init-param>

         <param-name>serverName</param-name>

         <param-value>https://alfresco.local:9443</param-value>

      </init-param>

   </filter>

   <filter>

      <filter-name>CAS Validation Filter</filter-name>

      <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>

      <init-param>

         <param-name>casServerUrlPrefix</param-name>

          <param-value>https://cas.softbless.local:443</param-value>

      </init-param>

      <init-param>

         <param-name>serverName</param-name>

         <param-value>https://alfresco.local:9443</param-value>

      </init-param>

      <init-param>

         <param-name>allowAnyProxy</param-name>

         <param-value>true</param-value>

      </init-param>

      <init-param>

         <param-name>proxyCallbackUrl</param-name>

         <param-value>https://alfresco.local:9443/share/proxyCallback</param-value>

      </init-param>

      <init-param>

         <param-name>proxyReceptorUrl</param-name>

         <param-value>/proxyCallback</param-value>

      </init-param>

   </filter>

   <filter>

      <filter-name>Alfresco CAS Authentication Filter</filter-name>

      <filter-class>org.mycompany.cms.authentication.CasAuthenticationFilter</filter-class>

   </filter>

   <!-- End adding CAS authentication filters -->

13.   Now you can access Alfresco used Internet Explorer http://alfresco.local:8080/share, it will redirect to CAS form login.

Reference:

http://ecmstuff.blogspot.com/2011/06/configuring-alfresco-for-sso-with-cas.html

http://holisticsecurity.wordpress.com/2011/02/19/web-sso-between-liferay-and-alfresco-with-cas-and-penrose-part-22/

http://akselsarchitecture.blogspot.com/2010/09/cas-sso-for-alfresco-33-and-share.html

http://translate.google.com/translate?u=http://blog.atolcd.com/%3Fp%3D115&sl=fr&tl=en

1 Sep

Alfresco Record Management

Record is different with Document, that why we need different approach to handle record. Record and Document Comparison:
Document Management Record Management
File structure changes overtime, built by users Rigid Classification scheme, defined by the organization
Created any time for any purpose Created as a part of a business process or transaction
Can edited as time goes on Once declared as a record, it must not change
Can be deleted any time by the users Disimpan untuk dipertahankan selama periode waktu Retained for predetermined time periods br>
Alfresco as Document Management System, also has module for Electronic Filing/Record Management. Some functionalities of Alfresco Record Management :
  • Retention & Disposition
  • Hold/Freeze, Transfer
  • File Plan : Create any categories
  • Handle electronic & non electronic Records
  • Record Search & Report
  • Audit Trail
  • Permission Setting
  • Metadata
  • Declare email as record
  • Integration with Alfresco Document Management System/Enterprise Content Management
  • Online Preview
  • User based Custom Functionality :
    • Metadata
    • Event
    • Disposition Steps
    • Search Result Fields
    • Role