Some examples of my work
Continuation of a new Alfresco 6 project, and upgrade to Alfresco 7
Continuation of a freshly started Alfresco 6 project which aims to store documents related to accounting and public contracts for a french public institution, on a High Availibility architecture.
- Custom developments with rules, data models, smartfolders and Share UI
- Update of project sources and SDK to target Alfresco 7
- Modification of open source modules to match specific needs or to be compatible with Alfresco 7
Development of a web app for marketing online courses
Conception & development of a MOOC web application enablign students to follow online video courses about marketing, to validate their knowledge by completing quizzes, to chat with other students or teachers, to follow a predefined progression path, with the possibility to buy all the steps together or one by one.
Backend on Supabase (Postgresql, Postgrest, Amazon S3) and some serverless Vercel functions.
Frontend frontoffice & backoffice made with Svelte and TailwindCSS, hosted on Vercel.
Integration with ActiveCampaign for provisionning the students, Vimeo to host videos, and Calendly to allow students to book private appointments with teachers if they face some learning diffculties.
Alfresco maintenance & development
Maintenance, optimization and developments on an Alfresco 4.2 instance which stores 5 millions documents with a 2.1 To contentstore and with a high documents throughput (between 6k and 15k / day).
Java application integrated with ActiveCampaign CRM
Develoment of a webapp to manage video-games activation key giveaways in the context of an Advent calendar.
Integration with ActiveCampaign CRM to recover buying informations on the customers and send them the keys.
Integration between Smoobu and Dormakaba Webkeys
Automating the creation of an access code to a room when a new booking occurs.
- Writing of a simple Java 15 app.
- Use of the Smoobu Webhook to notifiy the program when a new booking occurs.
- Automation of the creation of an access key to a room with the Dormakaba Webkeys API, giving the apartment id and the staying dates.
- Sending of the access key to the customer with the Smoobu API and by SMS with mail-to-sms from SMSFactor.
Multilingual Alfresco search
Setup of :
- automatic language detection of a document when it is uploaded (between 3 supported languages, french, english and german)
- storage of the document language in a metadata
- enabling the filtering on a document language in search screen
- writing and run of a patch to detect the language of existing documents
- cross-language synonyms search with Solr4, with the help of a custom synonyms dictionnary holding translatiosn of some specific keywords
Addition of a feature allowing to enabel/disable alarms from a web application for alarms monitoring, with alarms being managed by a third-party provider.
Enhancement of a webapp to manage emergency services
Performances enhancements and features development on a webapp used to manage emergency services.
SQL qeries optimization, lightering of HTTP payloads, Java concurrent programming, PDF creation with Java with iTexte, cleaning and refactoring of a client AngularJS app.
Setup and customization of Alfresco & Share 5.2 as a replacement for a Windows shared file server.
Integration of the existing documents with metadata based on their location on the fileserver.
Relocation of the files according to the new file plan.
Massive use of datalist to feed allowed values lists for some metadata.
Dynamic creation of smartfolders upon datalist item creation.
Workfows history download feature on Flowable
Flowable is an open-source workflow engine based on Activiti.
Addition of a page in FLowable allowing a user to download the history of a BPMN process instances in a CSV file.
The feature is available only for some roles and the user can filter the history with a time interval and the process id. The extracted data include the process id, the instance id and some workflow variables.
Flattening of the groups tree in Alfresco
The Alfresco instance has hundreds of groups organized in a hierarchical tree. These groups are improted automatically from the customer's LDAP server. The customers would like to reorganize these groups in Alfresco by removing the hierarchical links between them, i.e by putting all the groups at the same level in a flat layout.
Writing of a batch script to remove parent-child relationship between groups, with some exceptions.
Backing up the ECM team
Joined the Alfresco team at Arval to work on several projects :
- Standardization of the ECM tool :
- Migration of the different ECM solutions of the different businesses of the group into a single Aflresco.
- Redirection of the existing data flows into Alfresco.
- Transformation of the existing business data models from other ECMs to a generic Alfresco data model.
- Data migrations.
- Development of a business-oriented front-end for Alfresco in AngularJS, and development of the related APIs in Alfresco.
- Design of Jenkins jobs to improve continuous integration of the Alfresco part at Arval.
- Maintenance of the running Alfresco applications, « customer support ».
Backing up the ECM team
Joined the Alfresco team at Interforum to help them maintain the Alfresco system, develop new functionnalities and prepare a version upgrade from 4.2 to 5.2 of several Alfresco instances, each of them serving a different business purpose.
Conception, development, lead and management of an Alfresco project
Conception and development as a lead developer and architect of a HR documents management project with the following requirements :
- Daily automatic creation and update of the file plan in Alfresco from external data, automatic update of the documents metadata and permissions from these same data.
- Simple validation workflows .
- Deep Share customizations, creation of specific Share pages. Creation of a specific workflow tasks validation screen including the preview of the processed document, and custom search filters for workflow tasks.
Requirements study with the customer, writing of the technical specifications, costing of the project, conception and develoment of the Alfresco services and Activiti workflows with a teammate, setup of the daily data flows with the Saint- Gobain team.
Alfresco/Share developments and maintenance
Occasional interventions to maintain and evolve the Alfresco platform at Saint- Gobain, which is shared between different businesses, each of them having a part of the file plan, specific data models, workflows and Share customizations.
Development and optimization of Activiti workflows, Share customizations, integration of a JQuery widget and of a new theme in Share.
Alfresco audit and developments
- Auditing of existing Alfresco customizations, and editing of the existing code to implement best practices.
- Development of an archiving functionnality to archive folders in .zip files.
- Improvements on the existing Activiti workflows.
Alfresco version upgrade, audit and developments
As a junior Alfresco consultant, help on a version upgrade project in Bordeaux :
- Help in witing the technical specifications.
- Bugs hunt prior to code upgrade (for the version upgrade).
- Refactoring of dangerous policies (ex: onMove, onUpdate, onDelete).
- Upgrade of the code to version 5.0.2.
Intervention at several Alfresco customers for the official Alfresco customers support.
Airbus – Toulouse – 5 days :
Help for the realization of a POC to install Alfresco 5.1 as the new ECM solution for Airbus engineers, challenging Sharepoint.
Danish Police – Copenhagen - 5 days :
Help migrating a project from Alfresco 4.1 to 5.1 (Alfresco and Share). Training of the customer’s Alfresco team on Share and Aikau development, teaching of the best practices.
Gemalto – Marseille – 3 days :
Intervention on a final-phase project to help setting up specific interfaces for workflows and statistics on the stored data in Alfresco.
Alfresco - documents synchronization on IPad
Realization of a project allowing to synchronize documents between Alfresco and IPads using the Bookends application (the Alfresco application didn’t fulfill the customer’s requirements) :
Development of :
- a Webscript to recover creations, updates and deletions from Alfresco.
- a robot to get the documents from Alfresco and put them in the Bookends server.
Writing of the documentation.
Occasional installation of releases at the customers.
Tests with the customer.
Alfresco developments and maintenance