SlideShare a Scribd company logo
1 of 21
Download to read offline
BEdita, a semantic content
management framework,
a development platform


  Stefano Rosanelli, ChannelWeb S.r.l.
  Bologna – 03/11/2009 – SalaBorsa



              www.bedita.com | Channelweb | Chialab | 2009
2
             Definition

    BEdita [bi'εdita]
     a Web2.0 (3.0?) framework,
     a tool for the (future?) Semantic
     Web.
    Not just designed around WWW
     but also for desktop, mobile,
     paper-press
3
                   History/motivation
Why BEdita?
CMS market is really crowded: choosing is difficult.
Why so many solutions? Different needs, different approaches,
 many incomplete solutions.... or?

What we needed:
• handle different semantic contents, with advanced tools
   (native multilanguage, multipublishing, free relations...)
• powerful tool to create advanced web user interfaces
• good design, code quality, re-use of web
   components/frameworks, accessible licensing
4                History/motivation
We have many good solutions: wordpress, drupal....with
  important limitations
Otherwise big enterprise solutions (ECM), too expensive!

We had a CMS-like software, completely redesigned/rewritten,
 kept some good ideas.

Software reuse is an important value, avoid reinventing the
  wheel: use good sw components available, BEdita has many
  many 3rd party libraries (like a distribution)
Focus on content-related business logic only

Needs driven design
5
                 Architecture

    2 main elements:
      • backend WebApplication: handling contents and
        their semantic relations;
        modern/elegant/ergonomic UI....featuring
        chromatic association between object types, lot of
        drag'n'drop, and other AJAX techniques;
      • frontend API, services, specs, conventions to build
        frontend apps; Web apps mainly, but also desktop/
        mobile using the native REST/XML interface.
6                  Architecture/2
Requirements:
LAMP architecture, Linux & Apache recommended on
productions systems, only cross-platform components (Mac/Win/
UNIXes...); MySQL5 : referential integrity, views, stored
procedures; other DBMS will be supported...; PHP5 : OO syntax,
extensive use of exceptions;
Bundled software:
CakePHP : webapp framework, like RubyOnRails; provides
MVC, i18n/l10n, OR Mapping, UnitTesting, DBmigrations,
security, caching, validation; Smarty : PHP templating library
(MVC View); jQuery : Javascript library - AJAX, drag'n'drop,
DOM manipulation; many other .... like phpThumb , TinyMCE
7
               Framework or CMS?

    CMS : “a tool that enables tech and non tech staff to
    create, edit, manage and publish a variety of content
    (text, graphics, video, ...)”

    Framework : “incomplete, though concrete, driving
    solution to recurring high-value problem”

    • incomplete: tool for [web]designer/[web]devs
    • high value problem: applications with dynamic,
      multimedia contents, complex, many semantic
      relations
8
9                   BEdita Frontends
Not a finished, ready system: not a solution for our customers
• can't preview customer/project needs (user interaction,
features, webservices, integrations..) - but say NO! sometimes :-)
• don't want to limit graphic/design ideas -> help instead,
provide a tool for creative communication ideas
a blackboard to draw quick and easy – with BEdita:
• start with basic apps, easy to modifiy/extend: KISS - convention
over configuration – no annoying xml setups
• clear and simple view layout (V in MVC) - cakephp conventions
– custom view for a given content or section (using nicknames)
Developing with BEdita is agile :-)
10                  BEdita Frontends
Frontend: application to show and interact with a publication
[content repository with hierarchic and semantic structure] –
can be: website, doc archive, magazine, book, multimedia online
service...??? - 1 backend / N frontends - completely decoupled
from backend, for efficiency, security, scalability...
• How publish? which media? web, feeds, newsletter, paper,
iphone, kindle … also social networks like facebook, twitter....an
ever growing list
<<..there will never be a single black box device...>> - “The Black
Box Fallacy” - H. Jenkins (Convergence Culture)
• What kind of user interaction? Who are my users?
People demand interaction, rich experience → but also software/
computers – Web2, Semantic Web, SEO
11
                  Web2, 3?, Semantic Web
Web2.0, a concept emerged in 2004/2005: web applications
that help sharing, interoperability, collaboration; user-centered
design; users fundamental active players
Web As Platform - Harness Collective Intelligence - End of the
Software Release Cycle - Lightweight Programming Models -
Rich User Experiences (Tim O'Really - 2005)
Semantic Web, publish informations and data with formats for
automatic interrogation/elaboration. XML formalization to
describe contents in a semantic way.
A universal medium to interconnect/exchange data, creating a
Web browsable by other software - Ontologies: DublinCore,
FOAF, Microformats... RDFa already usable!
→ Metadata, metadata, metadata!!
BEdita designed to be Semantic
12
                   BEdita Applications
Web: companies, public administrations, projects,
campaigns, portals ; > webagencies, communication,
marketing, software house, system integrators;
publishing : online vertical applications (books, magazines,
newspapers, tv/radio); > publishing companies
dedicated vertical solutions : specific fields/domains where
e.g. festivals/events/fairs management; > consulting and
services companies (main ICT), startups;
new web services – any cool idea? > startups;
Licensing
 13
                     BEdita: dual licensing business model

Affero GPLv3 license: a relatively new license, created for
software on the net (our case), resolving the ASP loophole
problem.
Proprietary version: same software with a few vertical addon
modules (like e-commerce).
A clear choice to users:
● choosing AGPL: all free software rights, but same license for
apps published on Internet (...source code available);
● choosing proprietary license: I may publish my Internet
applications not under AGPL, also vertical proprietary sw;
17
                  Features
i18n: contents & UI in every language (ISO-693-3,
gettext, custom structure, dedicated module)
object design: every type may be (geo)tagged,
categorized, translated, published on different nodes...;
videos, events, newsletters, cards...
obj extensions: create new types, or new custom
properties to existing types
modularity: software modules for specific tasks and to
hande different types
18
                   Features (more)

 • free semantic relations between objects;
 • authentication: internal or external (like LDAP,OpenID)
 • dedicated newsletter module
 • integrated statistics , on contents and pubblications
   (external providers like Google analytics, webserver log)
 • access granularity: users and groups (dynamic privileges)
 • XML/REST (JSON) native interface for published objects
 • nicknames : unique alfanumeric semantic ID for
   URLs/apps
19
                    Strength
     ● Clean separation between backend and frontends
     ● Clear framework nature
     ● Extensible object design
     ● Reuse: web app frameworks and other libs..
     ● Advanced i18n
     ● Elegant, ergonomic, powerful web2.0 backend UI
     ● Free semantic relations
     ● Enterprise features on LAMP architecture
     A unique or rare set of features.... almost....or??
20
                  Standards
● classic W3C web technologies standards
● Dublin Core: metadata for objects/contents
● RSS /Atom automatic feeds generation
● Sitemap: automatic map generation, new sitemap protocol
● REST: webservices like – not SOAP (in the future?)
● CMIS: Content Management Interoperability Services, OASIS
  interop. standard (draft) between CMS (work in prog.)
● OpenDocument: import/export filters (work in prog.)
● Other lower level standards: ISO 639-3, UTF-8
21
        Thank you!
     See you on
     www.bedita.com
     Contact us
     info@bedita.com
     Or just me....
     s.rosanelli@channelweb.it

                      CC / Attribution Noncommercial ShareAlike

              www.bedita.com | Channelweb | Chialab | 2009

More Related Content

Similar to BEdita, a development platform

Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleIT Arena
 
Social Applications made easy with the new Social Business Toolkit SDK
Social Applications made easy with the new Social Business Toolkit SDKSocial Applications made easy with the new Social Business Toolkit SDK
Social Applications made easy with the new Social Business Toolkit SDKIBM Connections Developers
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)AI4BD GmbH
 
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018UX Antwerp Meetup
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...LetsConnect
 
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connections Developers
 
Connect 2014 - Key108 - Application Development Strategy
Connect 2014 - Key108  - Application Development StrategyConnect 2014 - Key108  - Application Development Strategy
Connect 2014 - Key108 - Application Development StrategyPhilippe Riand
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5Vinayak Tavargeri
 
01 web 2.0 - more than a pretty face for soa
01   web 2.0 - more than a pretty face for soa01   web 2.0 - more than a pretty face for soa
01 web 2.0 - more than a pretty face for soaTechnology Transfer
 
Die Qual der Wahl bei den Single Page Application Frameworks
Die Qual der Wahl bei den Single Page Application FrameworksDie Qual der Wahl bei den Single Page Application Frameworks
Die Qual der Wahl bei den Single Page Application FrameworksJonas Bandi
 
Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsShashank Banerjea
 
SoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration TechnologySoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration TechnologySrinath Perera
 
01 introduction to darwino
01   introduction to darwino01   introduction to darwino
01 introduction to darwinodarwinodb
 
O futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberO futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberDanilo Bordini
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009Tom Deryckere
 
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web DevelopmentYash Sati
 

Similar to BEdita, a development platform (20)

Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
Social Applications made easy with the new Social Business Toolkit SDK
Social Applications made easy with the new Social Business Toolkit SDKSocial Applications made easy with the new Social Business Toolkit SDK
Social Applications made easy with the new Social Business Toolkit SDK
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
 
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...
 
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
 
Connect 2014 - Key108 - Application Development Strategy
Connect 2014 - Key108  - Application Development StrategyConnect 2014 - Key108  - Application Development Strategy
Connect 2014 - Key108 - Application Development Strategy
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 
01 web 2.0 - more than a pretty face for soa
01   web 2.0 - more than a pretty face for soa01   web 2.0 - more than a pretty face for soa
01 web 2.0 - more than a pretty face for soa
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
About 4Ward
About 4WardAbout 4Ward
About 4Ward
 
Die Qual der Wahl bei den Single Page Application Frameworks
Die Qual der Wahl bei den Single Page Application FrameworksDie Qual der Wahl bei den Single Page Application Frameworks
Die Qual der Wahl bei den Single Page Application Frameworks
 
Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE Projects
 
Mihai_Nuta
Mihai_NutaMihai_Nuta
Mihai_Nuta
 
SoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration TechnologySoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration Technology
 
01 introduction to darwino
01   introduction to darwino01   introduction to darwino
01 introduction to darwino
 
TRWResume-10-2016
TRWResume-10-2016TRWResume-10-2016
TRWResume-10-2016
 
O futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberO futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saber
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
 
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web Development
 

Recently uploaded

Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 

Recently uploaded (20)

Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 

BEdita, a development platform

  • 1. BEdita, a semantic content management framework, a development platform Stefano Rosanelli, ChannelWeb S.r.l. Bologna – 03/11/2009 – SalaBorsa www.bedita.com | Channelweb | Chialab | 2009
  • 2. 2 Definition BEdita [bi'εdita] a Web2.0 (3.0?) framework, a tool for the (future?) Semantic Web. Not just designed around WWW but also for desktop, mobile, paper-press
  • 3. 3 History/motivation Why BEdita? CMS market is really crowded: choosing is difficult. Why so many solutions? Different needs, different approaches, many incomplete solutions.... or? What we needed: • handle different semantic contents, with advanced tools (native multilanguage, multipublishing, free relations...) • powerful tool to create advanced web user interfaces • good design, code quality, re-use of web components/frameworks, accessible licensing
  • 4. 4 History/motivation We have many good solutions: wordpress, drupal....with important limitations Otherwise big enterprise solutions (ECM), too expensive! We had a CMS-like software, completely redesigned/rewritten, kept some good ideas. Software reuse is an important value, avoid reinventing the wheel: use good sw components available, BEdita has many many 3rd party libraries (like a distribution) Focus on content-related business logic only Needs driven design
  • 5. 5 Architecture 2 main elements: • backend WebApplication: handling contents and their semantic relations; modern/elegant/ergonomic UI....featuring chromatic association between object types, lot of drag'n'drop, and other AJAX techniques; • frontend API, services, specs, conventions to build frontend apps; Web apps mainly, but also desktop/ mobile using the native REST/XML interface.
  • 6. 6 Architecture/2 Requirements: LAMP architecture, Linux & Apache recommended on productions systems, only cross-platform components (Mac/Win/ UNIXes...); MySQL5 : referential integrity, views, stored procedures; other DBMS will be supported...; PHP5 : OO syntax, extensive use of exceptions; Bundled software: CakePHP : webapp framework, like RubyOnRails; provides MVC, i18n/l10n, OR Mapping, UnitTesting, DBmigrations, security, caching, validation; Smarty : PHP templating library (MVC View); jQuery : Javascript library - AJAX, drag'n'drop, DOM manipulation; many other .... like phpThumb , TinyMCE
  • 7. 7 Framework or CMS? CMS : “a tool that enables tech and non tech staff to create, edit, manage and publish a variety of content (text, graphics, video, ...)” Framework : “incomplete, though concrete, driving solution to recurring high-value problem” • incomplete: tool for [web]designer/[web]devs • high value problem: applications with dynamic, multimedia contents, complex, many semantic relations
  • 8. 8
  • 9. 9 BEdita Frontends Not a finished, ready system: not a solution for our customers • can't preview customer/project needs (user interaction, features, webservices, integrations..) - but say NO! sometimes :-) • don't want to limit graphic/design ideas -> help instead, provide a tool for creative communication ideas a blackboard to draw quick and easy – with BEdita: • start with basic apps, easy to modifiy/extend: KISS - convention over configuration – no annoying xml setups • clear and simple view layout (V in MVC) - cakephp conventions – custom view for a given content or section (using nicknames) Developing with BEdita is agile :-)
  • 10. 10 BEdita Frontends Frontend: application to show and interact with a publication [content repository with hierarchic and semantic structure] – can be: website, doc archive, magazine, book, multimedia online service...??? - 1 backend / N frontends - completely decoupled from backend, for efficiency, security, scalability... • How publish? which media? web, feeds, newsletter, paper, iphone, kindle … also social networks like facebook, twitter....an ever growing list <<..there will never be a single black box device...>> - “The Black Box Fallacy” - H. Jenkins (Convergence Culture) • What kind of user interaction? Who are my users? People demand interaction, rich experience → but also software/ computers – Web2, Semantic Web, SEO
  • 11. 11 Web2, 3?, Semantic Web Web2.0, a concept emerged in 2004/2005: web applications that help sharing, interoperability, collaboration; user-centered design; users fundamental active players Web As Platform - Harness Collective Intelligence - End of the Software Release Cycle - Lightweight Programming Models - Rich User Experiences (Tim O'Really - 2005) Semantic Web, publish informations and data with formats for automatic interrogation/elaboration. XML formalization to describe contents in a semantic way. A universal medium to interconnect/exchange data, creating a Web browsable by other software - Ontologies: DublinCore, FOAF, Microformats... RDFa already usable! → Metadata, metadata, metadata!! BEdita designed to be Semantic
  • 12. 12 BEdita Applications Web: companies, public administrations, projects, campaigns, portals ; > webagencies, communication, marketing, software house, system integrators; publishing : online vertical applications (books, magazines, newspapers, tv/radio); > publishing companies dedicated vertical solutions : specific fields/domains where e.g. festivals/events/fairs management; > consulting and services companies (main ICT), startups; new web services – any cool idea? > startups;
  • 13. Licensing 13 BEdita: dual licensing business model Affero GPLv3 license: a relatively new license, created for software on the net (our case), resolving the ASP loophole problem. Proprietary version: same software with a few vertical addon modules (like e-commerce). A clear choice to users: ● choosing AGPL: all free software rights, but same license for apps published on Internet (...source code available); ● choosing proprietary license: I may publish my Internet applications not under AGPL, also vertical proprietary sw;
  • 14.
  • 15.
  • 16.
  • 17. 17 Features i18n: contents & UI in every language (ISO-693-3, gettext, custom structure, dedicated module) object design: every type may be (geo)tagged, categorized, translated, published on different nodes...; videos, events, newsletters, cards... obj extensions: create new types, or new custom properties to existing types modularity: software modules for specific tasks and to hande different types
  • 18. 18 Features (more) • free semantic relations between objects; • authentication: internal or external (like LDAP,OpenID) • dedicated newsletter module • integrated statistics , on contents and pubblications (external providers like Google analytics, webserver log) • access granularity: users and groups (dynamic privileges) • XML/REST (JSON) native interface for published objects • nicknames : unique alfanumeric semantic ID for URLs/apps
  • 19. 19 Strength ● Clean separation between backend and frontends ● Clear framework nature ● Extensible object design ● Reuse: web app frameworks and other libs.. ● Advanced i18n ● Elegant, ergonomic, powerful web2.0 backend UI ● Free semantic relations ● Enterprise features on LAMP architecture A unique or rare set of features.... almost....or??
  • 20. 20 Standards ● classic W3C web technologies standards ● Dublin Core: metadata for objects/contents ● RSS /Atom automatic feeds generation ● Sitemap: automatic map generation, new sitemap protocol ● REST: webservices like – not SOAP (in the future?) ● CMIS: Content Management Interoperability Services, OASIS interop. standard (draft) between CMS (work in prog.) ● OpenDocument: import/export filters (work in prog.) ● Other lower level standards: ISO 639-3, UTF-8
  • 21. 21 Thank you! See you on www.bedita.com Contact us info@bedita.com Or just me.... s.rosanelli@channelweb.it CC / Attribution Noncommercial ShareAlike www.bedita.com | Channelweb | Chialab | 2009