For your info, I submitted two talk proposals about web2py at Pycon in
the hope that one will be accepted (I do not really want to give two
talks). Here are the two descriptions:

PROPOSAL 1: web2py, why you love it or hate it

When it comes to web framework there is a well defined minimal set of
features we expect from them: the ability to handle cookies, sessions,
database connections, render data in HTML and other protocols, notify
error messages, redirect a visitor to another page, provide
authentication, authorization and web services, help the developer
with debugging, testing, packaging and deployment of applications.
While separately each of these tasks is trivial, together they may
give rise to a complex workflow and potential security issues or
performance issues.

Some frameworks leave a lot of choice to the developers on how to
perform those tasks. Web2py takes a different approach and it
constraints the developers more in an attempt to simplify web
development, increase security and promote good practice. Yet some of
the decision may seem odd to the average Python programmer and need to
be explained, considering that web2py is becoming a popular framework
with 50 contributors, 100 distinct downloads per day, 1400 registered
users, 30000 google group messages.

The general philosophy of web2py is to abandon “explicit is better
then implicit” every time it conflicts with “do not repeat yourself”.
The practical design decisions, consequence of this philosophy, are
that:

    * Application code does not import the modules of the framework
but the framework executes the application code in a well defined
environment.
    * Although you can use imports as you would normally do in every
python program, many of the web2py keywords and environment variables
are already defined in the context in which code is executed.
    * Everything has a default (every model has a default interface,
every action has a default view, every parameter has a default
setting)
    * Although web2py is modular, it is more than the sum of its part.
This means the various modules are much more intercorrelated than they
are in other web frameworks.

Some of those decision were the result of a compromise and have side
affects.

In our talk we will provide a brief introduction to web2py, discuss
its internal architecture, the file hierarchy and the pros and cons of
our design decisions.



PROPOSAL 2: Opening Databases to the Semantic Web

Authors

Massimo Di Pierro and Chris Baron
About the Semantic Web

The Semantic Web is an attempt to describe the meaning of the
information posted on the web in a format that is understandable to
both people and machines. An embodiment of the semantic web is the
idea of linked data proposed by Sir Tim Berners Lee, credited for the
invention of the web. The idea of linked data is that of exposing data
as well as relations between data. Atomic data consists of URL address
where atomic information resides. The atomic data is labeled using a
Web Ontology Language. Relations between the data is described using a
an XML based schema called Resource Description Framework RDF.
Motivation for this Talk

The amount of information posted online is rapidly growing beyond the
point where humans can comprehend it and more and more we will need
automated agents to be able to find, collect, and summarize
information for us. Most of this information already exists in
structured form, in relational databases. There are many RDF parsers/
serializers for Python but we moved one step further: We created a
mechanism for tagging database tables, fields and relations so that
information in any database can be exposed automatically in RDF,
without coding.
Our contribution

web2py is a web framework that includes a Database Abstraction Layer.
Normally its main purpose is to generate SQL code dynamically and
transparently for multiple database back ends. web2py also includes
the ability to serialize the output values of the a controller action
into multiple formats (html, json, xml, etc.).

In this talk we show how it is possible to use the web2py DAL to
attach metadata to the database information using the Web Ontology
Language and how this data can be used to serialize the result of
select into RDF, on demand, and expose this functionality as a
service. Using this technology any web2py application can became a
node of the semantic web. Not all tables and records will be exposed
in RDF, only those appropriately tagged and those the visitor is
allowed to access based on web2py’s Role Based Access Control
mechanism.

Our tagging system is powerful enough to translate one-to-many and
many-to-many database relations into RDF expressions.

In principle the same ideas exposed here can be used with other web
frameworks and other Database Abstraction Layers and/or Object
Relational Mappers.Timeline:
Timeline

    * Introduction to the semantic web: 5 minutes
    * How to create and expose a database model in web2py: 5 minutes
    * Markup a model using OWL: 10 minutes
    * Build a complete working test case: 10 minutes

References

[1] http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html

[2] http://en.wikipedia.org/wiki/Semantic_Web


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to