An Alfresco Developer’s Challenge and Journey

Aktuell

Veröffentlicht unter Content-Management / Alfresco, Spring
An idea (lit bulp)

Alfresco is a very flex­i­ble content-platform in gen­eral. It pro­vides mech­a­nisms to cus­tomize almost every com­po­nent (Spring-Bean, Web­script, Tem­plates) shipped with the core product.

Still, some­times the tech­ni­cal solu­tion does not prove to be even close to what the devel­oper had in mind. This post is about a recent per­sonal chal­lenge and the jour­ney to the solu­tion in an Alfresco Share cus­tomiza­tion project tar­get­ing ver­sion 3.4.

Busi­ness Requirements

The project con­sisted of var­i­ous sto­ries. One was about cus­tomiza­tion of the Share invi­ta­tion email with the fol­low­ing requirements:

  • As a Site-Manager, we want an optional per­sonal mes­sage to be included in the invitation-email.
  • As a Site-Manager, we want to receive invi­tee read-receipts for invitation-emails
  • As a Site-Manager, we want the com­pany logo to appear in the invi­ta­tion email.

The cus­tomer was fairly prag­matic — require­ments imple­mented quickly and decently priced being far more impor­tant than edu­ca­tional value of the code. Hence, it was ok to apply these cus­tomiza­tions on a global level - to all share sites with no fur­ther scop­ing. That all sounded rea­son­ably to me and I was con­fi­dent to get it imple­mented “properly”.

The project was of type fixed-scope and fixed-price. A No-Go due to Heisenberg’s uncer­tainty prin­ci­ple — sure, but there was no way around.

Now, if you are an Alfresco devel­oper read­ing this, please take a minute vir­tu­ally out­lin­ing your solu­tion and make a rough effort esti­ma­tion before pro­ceed­ing with solu­tion jour­ney on the next page. But even if you have no clue what Alfresco is, it might be worth read­ing further.

 

Unobstrusive Spring Beans Injection — Performance Analysis (Alfresco Example)

Veröffentlicht unter Content-Management / Alfresco, JVM, Spring
3020016417_3c4f42de7b_blog

Some­times you need to know where an appli­ca­tion is spend­ing how much time. The old school System.currentTimeMillis() approach works for basic sce­nar­ios. If you have a Spring based appli­ca­tion, apply­ing an AOP style “bean injec­tion” approach may get you far bet­ter results — cleaner and faster. Weit­er­lesen

Alfresco Community R/W-Source Repository Available (Bugfixes)

Veröffentlicht unter Content-Management / Alfresco, Contentreich
Patches

The Open Source project Alfresco so far “only” has a com­mu­nity read-only svn repos­i­tory. This post out­lines an approach extend­ing that with a read/write git repos­i­tory to sup­port col­lec­tive com­mu­nity bug­fix­ing. Weit­er­lesen

Using an Embedded REPL to Accelerate Development (Example: Alfresco)

Veröffentlicht unter Content-Management / Alfresco, Grails, Groovy, JVM, Spring
Javascript REPL embedded in Alfresco

For me, wait­ing is by far the worst part of devel­op­ment. depend­ing on the envi­ron­ment, the build and deploy phases of the code-build-deploy-test devel­op­ment cycle can really take a sig­nif­i­cant share of your imple­men­ta­tion time. There are var­i­ous approaches address­ing this annoy­ing prob­lem. This post dis­cusses lever­ag­ing an embed­ded Read-Eval-Print-Loop . Weit­er­lesen

Alfresco Share (Prototype) Security Hack

Veröffentlicht unter Content-Management / Alfresco
Zahlenschloß

Alfresco Share comes with an access con­trol list (ACL) based secu­rity model con­sit­ing of Site Man­ager, Col­lab­o­ra­tor, Con­trib­u­tor and Con­sumer groups and per­mis­sions. Things can get tricky when the default secu­rity model can­not address require­ments. This post out­lines a quick hack solu­tion. Weit­er­lesen

Globalisierung & Alfresco Share 3.4. Community

Veröffentlicht unter Content-Management / Alfresco
Collaboration Foto by A. SVENSSON

Die zukün­ftige Pro­jek­tar­beit wird sich sowohl national, als auch inter­na­tional immer mehr in geo­graphisch verteil­ten Teams abspie­len. Diese geo­graphis­che Verteilung von Fach­abteilun­gen, Pro­jek­tleitung, Entwick­lern, Kun­den, Liefer­an­ten usw. benötigt virtuelle Arbeits– bzw. Pro­jek­träume. Collaboration-Software unter­stützt das Team bei den Aspek­ten Kom­mu­nika­tion, Koor­di­na­tion und Koop­er­a­tion. Ein Herzstück der Alfresco Share Collaboration-Software ist die sehr aus­gereifte Doku­menten­ver­wal­tung. Weit­er­lesen