Unlike a file system, LibreSource manage events. Creating a ressource, moving a ressource, interacting with a ressource generates persistent event.
Why this events mechanism ?
This system allows a better awareness of the users who work together in the platform. For example, if a user update the content of a file, people could be informed of this action with an email generated by the event. These awareness is very important to work in a distributed environment.LibreSource event contains a lot of interesting information :- the action type (create, update, delete, ...) according to the resource type
- the resource which has been (URI of the resource, type of the resource)
- the user who has executed the action
- the date of the action
- a list of arguments (allows additional information in the event)
- resource creation
- resource edition
- resource deletion
How to use LibreSource events ?
Email or Instant Messaging NotificationUsers can suscribe to events generated by the a subtree of ressources. Figure 1 - User events filtersHe will then be notified by email and/or jabber instant messaging when an event is produced by a resource of this subtree.Timeline ResourceThere is a special resource in LibreSource which is a "logger" of the events. This resource listen events from one subtree and display the wanted event on the web page. Figure 2 - A timelineSee the timeline page for informations about its use.Complete events list
- kernel.create - kernel.delete - kernel.deleteURI - kernel.bind - kernel.unbind - kernel.moveFrom - kernel.moveTo - kernel.chown - kernel.createAcl - kernel.deleteAcl - kernel.resetAcls - kernel.setProperty- membership.user.edit - membership.user.delete - membership.group.create - membership.group.edit - membership.group.delete - membership.group.addMember - membership.group.removeMember- libresourceCore.symbolicLink.create - libresourceCore.symbolicLink.edit - libresourceCore.template.create - libresourceCore.template.edit - libresourceCore.timeline.create - libresourceCore.timeline.edit - libresourceCore.project.create - libresourceCore.project.edit - libresourceCore.project.editSummary- libresourceBugTracker.bugTracker.create - libresourceBugTracker.bugTracker.edit - libresourceBugTracker.BugTracker.delete - libresourceBugTracker.issue.create - libresourceBugTracker.issue.edit - libresourceBugTracker.issue.delete - libresourceBugTracker.issue.assign - libresourceBugTracker.issue.resolve- libresourceFiles.file.create - libresourceFiles.file.edit - libresourceFiles.file.delete - libresourceFiles.file.download - libresourceFiles.repository.create - libresourceFiles.repository.edit - libresourceFiles.repository.delete- libresourceForum.message.create - libresourceForum.message.edit - libresourceForum.message.delete - libresourceForum.thread.create - libresourceForum.thread.edit - libresourceForum.thread.delete - libresourceForum.forum.create - libresourceForum.forum.edit - libresourceForum.forum.delete- libresourceMailing.mailingList.create - libresourceMailing.mailingList.edit - libresourceMailing.mailingList.delete - libresourceMailing.mailingList.subscribe - libresourceMailing.mailingList.unsubscribe - libresourceMailing.mailingList.sendMessage- libresourceSynchronizer.synchronizer.create - libresourceSynchronizer.synchronizer.edit - libresourceSynchronizer.synchronizer.delete - libresourceSynchronizer.workspace.connection.create - libresourceSynchronizer.workspace.connection.edit - libresourceSynchronizer.workspace.connection.updateLastTicket - libresourceSynchronizer.workspace.connection.delete - libresourceSynchronizer.synchronizer.getPatch - libresourceSynchronizer.synchronizer.addPatch - libresourceSynchronizer.synchronizer.editPatch - libresourceSynchronizer.synchronizer.removePatch- libresourceSurvey.survey.create - libresourceSurvey.survey.edit - libresourceSurvey.survey.delete - libresourceSurvey.survey.addOption - libresourceSurvey.survey.deleteOption - libresourceSurvey.survey.vote - libresourceSurvey.survey.close - libresourceSurvey.survey.open- libresourceWiki.page.create - libresourceWiki.page.editContent - libresourceWiki.page.delete