Alfresco ProdSel Tool Overview Technologies


Alfresco is an Open Source Alternative for Enterprise Content Management (ECM). ECM tools and strategies allow the management of an organization's unstructured information, wherever that information exists. You can find all the info you need (and a bit more) online.

The Spring Framework (or Spring for short) is an open source application framework for the Java platform.
Spring is a IOC container (Inversion Of Control) meaning that it is not the application which decides on the objects that are instanciated, this is done by the container (based on an xml configuration file) instead.

Subversion (SVN) is a version control system initiated in 2000 by CollabNet Inc. It is used to maintain current and historical versions of files such as source code, web pages, and documentation.
It integrates fantastically in Eclipse in the form of subclipse.

Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.

The following Java technologies and application programming interfaces (APIs) are the foundation of the Java Platform, Standard Edition (Java SE). They provide all you need to create server applications, desktop applications, and applets that run on almost every popular operating system, including Linux, Macintosh, Solaris, and Windows.

Maven is a tool that can be used for building and managing any Java-based project.
It's primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal there are several areas of concern that Maven attempts to deal with making the build process easy, providing a uniform build system, quality project information, guidelines for best practices development and allowing transparent migration to new features.
A brief tutorial can be found here.

XML

XML provides a basic syntax that can be used to share information between different kinds of computers, different applications, and different organizations without needing to pass through many layers of conversion.

JavaServer Faces technology is a framework for building user interfaces for web applications. JavaServer Faces technology includes:

  • A set of APIs for: representing UI components and managing their state, handling events and input validation, defining page navigation, and supporting internationalization and accessibility.
  • A JavaServer Pages (JSP) custom tag library for expressing a JavaServer Faces interface within a JSP page.

Here is a fine introduction to JSF.

MyFaces (http://myfaces.apache.org/index.html) is the JSF implementation that is used by the Alfresco Web Client. We will not become specialists in MyFaces or JSF, but we just need enough knowledge to extend the Alfresco Web Client with custom dialogs and perform some other basic UI modifications. http://wiki.alfresco.com/wiki/Adding_a_Custom_Dialog describes a bit how this can be done.


MySQL is the world's most popular open source database software. The MySQL database is owned, developed and supported by Sun Microsystems. All your questions are answered in the online reference manual.

Hibernate is a powerful, high performance object/relational persistence and query service. Hibernate lets you develop persistent classes following object-oriented idiom (including association, inheritance, polymorphism, composition, and collections).
Want to get started with Hibernate?

Object-Relational mapping (XML)

Eclipse is a software platform comprising extensible application frameworks, tools and a runtime library for software development and management. It is written primarily in Java to provide software developers and administrators an integrated development environment (IDE)
The huge documentation can be found here