BEdita A system to manage and publish content, a shared platform that will increase the value of your informative patrimony Christiano Presutti ChannelWeb ChannelWeb / Chialab BEdita 1
The open system BEdita [bi'εdita] was created to publish, archive, manage, look through content, that continuously grow in number, breed and interconnect BEdita was made to manage web sites, printed material, multimedia archives, interactive services, weblogs, newsletters Technically, BEdita is a web development framework that comes with a full featured CMS out-of-the-box. Details about OS platform, 3rd party software and licensing are reported below, at the end. ChannelWeb / Chialab BEdita 2
Definitions A development framework is a software base system that may include support programs, code libraries or other software glued together in a software project. Various parts of the framework may be exposed through an Application Program Interface. A Content Management System (or CMS) is a collection of procedures used to manage work flow in a collaborative environment. CMSs are used for storing, controlling, semantically enriching, and publishing. ChannelWeb / Chialab BEdita 3
Architecture Two main elements: a back end web application: built to handle content and semantic relations, with a modern/ergonomic User Interface, featuring chromatic association between object types a front end API: services, specs, conventions to build Web, desktop or mobile frontend applications, using the native REST/XML interface. ChannelWeb / Chialab BEdita 4
Features i18n: content and User Interface in every language (ISO-693-3, gettext, custom structure and a dedicated Translations module) Object oriented design: every content can be tagged, geo tagged, categorized, translated, published on different nodes Object evolution: possibility to create new object types, or new custom properties for existing types Modularity: BEdita implements modules to perform specific tasks and to manage different object types ChannelWeb / Chialab BEdita 5
Features free semantic relations between objects authentication: internal or external (supporting LDAP, OpenID and SSO systems) native newsletter module integrated statistics, on content and publications web analytics: integration with external providers like Google analytics, Piwik or generic logfile analyser access granularity: users and groups (dynamic privileges) XML/REST, JSON: native interface to access and publish data nicknames: unique alphanumeric semantic ID for URLs/apps (friendly URLs) ChannelWeb / Chialab BEdita 6
Standards W3C web technologies standards Dublin Core metadata of objects/content RSS / Atom automatic feeds generation Sitemap automatic map generation (supporting the new sitemap protocol) REST webservices system CMIS Content Management Interoperability Services (OASIS interop. standard in progress) Import/export filters XML (dublin core metadata standard), VCard (command line), OpenDocument (in progress) I18N related ISO 639-3 (language abbreviations), Unicode UTF-8, ChannelWeb / Chialab BEdita 7
ChannelWeb / Chialab BEdita 8
ChannelWeb / Chialab BEdita 9
ChannelWeb / Chialab BEdita 10
ChannelWeb / Chialab BEdita 11
ChannelWeb / Chialab BEdita 12
ChannelWeb / Chialab BEdita 14
ChannelWeb / Chialab BEdita 15
ChannelWeb / Chialab BEdita 16
ChannelWeb / Chialab BEdita 17
ChannelWeb / Chialab BEdita 18
ChannelWeb / Chialab BEdita 19
BEdita is a comprehensive solution for editors publishers designers media and communication industry online marketeers authors developers ChannelWeb / Chialab BEdita 20
What matters is not the amount of information you can store, but the ability to: find access transfer manage IT re-use ChannelWeb / Chialab BEdita 23
Information should be structured, conveyed and organized. Every bit of information should be encapsulated into a semantic frame, through which move/translate content to and from men and machines. ChannelWeb / Chialab BEdita 24
How did we build a semantic frame? ChannelWeb / Chialab BEdita 25
i) typing objects Not only generic content, but defined objects. documents comments events questionnaires books galleries biographies publications ChannelWeb / Chialab BEdita 26
ChannelWeb / Chialab BEdita 27
ii. every single object has got its own inner architecture ChannelWeb / Chialab BEdita 28
ChannelWeb / Chialab BEdita 29
ChannelWeb / Chialab BEdita 30
ChannelWeb / Chialab BEdita 31
A powerful feature of BEdita To easily create and manage specialized objects game bycicle work of art possum recipe Like staminal cells, they have the capacity to differentiate into specialized cell types (semantic content) with characteristics consistent with a particular tissue (information archive) and organ (project) ChannelWeb / Chialab BEdita 32
But specialized objects are not enough. Relations between them create contest, interaction, value. ChannelWeb / Chialab BEdita 33 30
and relations are not the same, they re semantic (every single connection between objects is meaningful) author review source illustrator price description ChannelWeb / Chialab BEdita 34
The powerful features of BEdita: 1. easily create specialized objects 2. easily create semantic relations between objects Easily create services built upon objects and semantic relations that occur between them ChannelWeb / Chialab BEdita 35
ChannelWeb / Chialab BEdita 36
Objects and relationships through the open system BEdita together define the informative patrimony that will be: published and presented to people shared through the network, indexed by SEs accessible to people working on it (re)used for existing services or new ones stored and saved ChannelWeb / Chialab BEdita 37
An example How BEdita can support people in the editorial workflow: designer, editor, publisher, developer ChannelWeb / Chialab BEdita 38
The designer People dealing with presentation of complex information can use semi-processed material, already catalogued, split and documented Think about the way you recycle The designer will focus on appealing interfaces and clever environments. ChannelWeb / Chialab BEdita 39
The editor (subeditor, copy, ) Throughout a single application, featuring solid interface logics and homogeneous paradigms, he/she will manage every single information, promote activities, communicate with co-workers, harvest data, publish and observe the work-flow. A unique interface for his/her job. fixed draft scheduled locked on sale noted trashed ChannelWeb / Chialab BEdita 40
ChannelWeb / Chialab BEdita 41
ChannelWeb / Chialab BEdita 42
ChannelWeb / Chialab BEdita 43
ChannelWeb / Chialab BEdita 44
The publisher 1 Distribution: the same content will feed various projects, i.e. manifold publications/websites at the same time Optimization: the same editorial office will control services and contents. One single tool to design and manage the production chain Training: training of people is long lasting, shared; experience is easily conveyed or handed out, users gain homogeneous skills ChannelWeb / Chialab BEdita 45
The publisher 2 Value of data: the informative patrimony is structured, meaningful and ubiquitously accessible Innovation: data defines not only the foundation of the information building, but the whole architecture, interiors and facilities. The publisher will focus on his core job and plan brand new tools and services Sharing: easily transfer, share or sell content. ChannelWeb / Chialab BEdita 46
The developer Background: he/she is provided with a flexible interoperating programming environment, based on the best and most utilized development tools (cakephp, JQuery, Smarty templating, RSS/Atom, ) Services: BEdita provides all major gears behind a website/ online service out-of-the-box Innovation: freed from all common basic tasks, he can invent new ways, create new objects, define new relations between them. ChannelWeb / Chialab BEdita 47
An actual scenario: a publisher manages 4 different websites, 2 paper issues, 3 newsletters, several editions of the book, a weblog, the releated e-commerce, the calendar of events, subscriptions, possums etc. ChannelWeb / Chialab BEdita 48
Each service needs an editorial office, a production environment, a software. ChannelWeb / Chialab BEdita 49
Environments are separated. Content should be translated, adapted and checked before the output phase. Every time a person moves between these separated environments he/she must adapt and learn, because of the differences in tools, interfaces and rules.? ChannelWeb / Chialab BEdita 50
A comprehensive view is difficult to achieve and every single service is strictly dependent on the related software. Connections between different environments are normally based on generic links. ChannelWeb / Chialab BEdita 51
BEdita provides the ability to manage mixed and valuable services (e-commerce, subscriptions, FAQs, bookings) and content, all in a single working environment. ChannelWeb / Chialab BEdita 52
BEdita was designed and released freely, under a open source licence (AGPL v.3), in order to promote hybridization and crossbreeding. It follows standards and it s built to interoperate with other systems. Now we wish that the character of diversity in its trunk ChannelWeb / Chialab BEdita 53
will affect its roots too. ChannelWeb / Chialab BEdita 54
More ChannelWeb / Chialab BEdita 55
Requirements LAMP architecture cross-platform components (Mac/Win/ UNIXes...) Unix (Linux), Apache and MySQL recommended on productions systems MySQL5 with referential integrity, views, stored procedures (other RDBMS supported) PHP5: OO syntax, extensive use of exceptions 3rd party integrated software CakePHP web application development framework (provides MVC, i18n/l10n, Unit Testing, DB migrations, security paradigms, caching, data validation) Smarty PHP templating library (View in MVC scenario) jquery unobtrusive Javascript library (provides AJAX, drag'n'drop, DOM manipulation phpthumb, TinyMCE and more ChannelWeb / Chialab BEdita 56
Licensing Dual licensing business model: Affero GPLv3 license a relatively new license, created for online software, in order to solve the ASP loophole problem Proprietary same software with a few vertical add on modules ( pre-print production and e-commerce ) ChannelWeb / Chialab BEdita 57