Home ยป Guidelines
Several Software projects and components LINAGORA teams manage require servers.
Among them, many are back-end applications that expose web services. These services provide
features that can be used in front-end solutions (web and mobile applications, as an example).
They could be reused by other projects as well. And they could be invoked by other back-end solutions.
Beyond the features, LINAGORA teams must bring care to not reinvent mechanisms and systems others have already created. Worst, we must avoid having teams developing concurrent solutions for a same problem.
This is what this web page is about:
- What are the current requirements in terms of back-end features for every project?
- What are the potential requirements for back-end features?
Based on this first inventory, we will determine what is common, identify what are the priorities and schedule workshops among the teams.
Methodology:
- Every project lists its requirements. Potential, future requirements are marked as so in curly brackets (
potential). - Once all completed, identify the common parts and the priorities.
- Do we have something to develop or should we pick up an existing solution (study)?
Raw Inventory
E-Mails
- Email Server implementing the JMAP 1.0 protocol
- Email Server implementing the IMAP protocol
- Email Server implementing the SMTP protocol
- Email Server implementing the Out Of Office feature
- Email Server implementing the MDN (Mail Delivery Notification) feature
- Email Server implementing filters (Sieve or other)
- Email Server bringing a way to add metadata to emails when this email contains Specific things, like an calendar/ics attachment
- Email Server bringing impersonation
- Email Server supporting user Quotas
- Optional: Email Server bringing Quarantine feature
- Some way to have frontend <-> Email Server authentication
- Current user basic information
- Current user identities informations. An identity is a set of: label, description, reply-to address, a desktop signature, a mobile signature, and an email. The email is a set that can be chosen from a list. Example: mbailly@linagora.com, michael.bailly@linagora.com, mbailly@linto.ai, are 3 emails belonging to the same account mbailly.
- People API, which is an endpoint to query for email address auto-completion. This email address can be: a user, a contact, a group
- Avatar API, which, given an email address, returns an avatar
Calendar
- Server implementing CardDAV, CalDAV, using iCal and jCal
- Server implementing enterprise Business Rules (delegation, sharing)
- SMTP server
- current user basic information
- People API, which is an endpoint to query for email address auto-completion. This email address can be: a user, a contact, a group
- Resource API, which allows to lookup for calendar resources by name and/or email
- Avatar API, which, given an email address, returns an avatar
- Email MTA Server bringing a way to send to Calendar server data when an email contains specific things, like a calendar/ics attachment
Twake
- Instant messages with custom formatting allowing building of interactive messages (still in French: https://www.notion.so/twake/Twacode-a7ac6a19be214837b20035e12914293a)
- Realtime frontend and backend framework very close to what does meteor with Collections https://react-tutorial.meteor.com/simple-todos/02-collections.html#2-3-Render-Tasks-Collection
- External connectors/plugin Api allowing creation and integration of almost anything (still in French: https://www.notion.so/twake/Twake-public-developers-API-v1-5081ab548cf94065bc0e9006d88233fb)
- [Will be depreciated and replaced by LinShare] Upload and encryption of files of any size (chunked upload, encryption AES-256-CBC)
- [Will be depreciated and replaced by OpenPaaS] Shared calendar app
- [Implemented in Twake Console in december] User and company repository as a REST Api (get, list, search)
- [Implemented in Twake Console in december] Payments and subscriptions
- [Implemented in Twake Console in december] User management in a company
- [Implemented in Twake Console in december] User sign up onboarding
- [Implemented in Twake Console in december] User sign in with LemonLDAP and OIDC
- (
potential) Centralized notification service as a REST Api - (
potential) Centralized connectors/plugin service included in Twake Console
Refined Inventory
Common Components:
Specific Components:
