[Web-SIG] Porcupine Web Application Server 0.6 released

2009-10-05 Thread Tassos Koutsovassilis
I'm pleased to announce the new version of Porcupine Web Application 
Server, a Python based framework that provides front-end and back-end 
technologies for building modern data-centric Web 2.0 applications.


During the past months, I have put a lot of effort for making this 
release finally available. It includes a new whole bunch of new features 
and improvements, mainly aimed towards scalability.


The server now supports multiple processes by using the 
multiprocessing module firstly introduced in Python 2.6.
The Porcupine database now supports indexes declared at a server-wide 
scope inside the Porcupine configuration file (porcupine.conf). 
Currently, the indexes are used for common database usage patterns such 
as getting the children of a container, but not yet fully leveraged by 
OQL. For the time being, simple queries like


select something from 'container_id' where indexed_attribute=value

will leverage the index structure.
The Etag HTTP header is now fully supported for static files. For 
dynamic requests a new pre-processing filter is included that allows 
conditional Etags, meaning that an Etag header will be generated only if 
a user predefined condition is true.
The Porcupine API is partially aligned with PEP 8. The majority of the 
API calls are no longer camelCase and such calls are considered 
deprecated (i.e. the Container's getChildren method is now 
get_children). Check the server's log thoroughly for deprecation 
warnings and make the appropriate changes.


QuiX, the server's integrated JavaScript toolkit, has reached the major 
milestone of supporting all the popular browsers including Opera, Safari 
4 and IE8. The structure of the QuiX API has been re-factored by 
introducing JavaScript namespaces (i.e. XButton has become 
QuiX.ui.Button, XMLRPCRequest has become QuiX.rpc.XMLRPCRequest). Of 
course backwards compatibility is still preserved in order not to break 
the existing code.
The redraws have been accelerated by using some sort of internal cache 
mechanism that prevents the core from calculating the same widget 
parameter twice.
Another great feature combined with the server side Etag support is the 
ability to persist data sets on the browser side. For accomplishing this 
kind of functionality QuiX includes PersistJS 
(http://pablotron.org/?cid=1557), a lightweight persistence library, 
that uses the appropriate persistence mechanism for different browsers 
including Google Gears, globalStorage, localStorage, openDatabase etc.
Auto-sized widgets are now finally supported. Their size is 
automatically adjusted based on their contents. Widgets supporting this 
kind of feature include labels, icons, buttons and boxes. Auto sized 
boxes require all their children to have fixed sizes or being auto-sized 
themselves.
Another important improvement is a universal base Widget implementation 
that now allows integration with non-Porcupine web applications more easily.


Other notable new features and improvements include themes support for 
QuiX, new optimized transactions, a lightweight rich text editor, new 
cookie based and database session managers (required for 
multi-processing setups) and a new Shortcut content class.


Helpful links


What is Porcupine?
http://www.innoscript.org/what-is-porcupine-web-application-server/

Online demo:
http://www.innoscript.org/porcupine-online-demo/

Downloads:
http://www.innoscript.org/porcupine-downloads/

Documentation:
http://www.innoscript.org/documentation/
___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com


[Web-SIG] ANN: Porcupine Web Application Server v0.0.9 released

2007-02-14 Thread Tassos Koutsovassilis
The inno:script team announces the new release of Porcupine server. This 
release introduces remarkable new features on the server side including 
a configurable in-memory object cache and a new post-processing filter 
for easy output i18n. Due to the method decorators used, Porcupine is no 
longer compatible with Python 2.3. We also recommend sub-classing the 
new type of QuiX servlet (XULSimpleTemplateServlet) instead of the 
primitive XULServlet class. The new type takes advantage of the new 
Python string.Template module, resulting in simpler and more readable 
QuiX templates.
By default, the object cache is configured for keeping up to 500 
objects. You can change this setting by editing the main Porcupine 
configuration file. Also keep in mind that each post processing filter 
is now declared as a child node of its registration node. See the store 
registrations file store.xml as a usage guideline.
On the browser side, QuiX adds minor improvements to better support 
Internet Explorer 7 but also includes many minor bug fixes. Last but not 
least, the rendering performance is greatly improved by minimizing the 
number of redraws required when drawing new interfaces from XML. As a 
side effect of this optimization, you might need an extra call to the 
redraw method of some of your dynamically added widgets in order to 
have them displayed correctly.

Enjoy.

Resources
=
What is Porcupine?
http://www.innoscript.org/content/view/30/42/

Porcupine Downloads:
http://www.innoscript.org/component/option,com_remository/Itemid,33/func,selectcat/cat,1/

Porcupine online demo:
http://www.innoscript.org/content/view/21/43/

Porcupine Wiki:
http://wiki.innoscript.org
___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com


[Web-SIG] Porcupine 0.0.7 released

2006-07-05 Thread Tassos Koutsovassilis
Porcupine is a Python based Web application server that features an
embedded object database, the Porcupine Object Query Language, XMLRPC
support, and QuiX, an integrated AJAX powered XUL motor.

On the server side, this release includes support for WSGI and HTTP
cookies. The session ID is stored in a cookie, instead of being
injected into the URL. This new feature, along with the max-age
attribute added to Porcupine registrations, results in better
utilization of the HTTP cache.
On the client side, QuiX has a new box layout widget and a unified
XMLRPC module. Additionally, QuiX windows support a new onclose
event, triggered just before the window is closed. Finally, each user
can select the desired application to be launched automatically
immediately after successful login.

Resources
=
Porcupine online demo:
http://www.innoscript.org/content/view/21/43/

Porcupine tutorial:
http://wiki.innoscript.org/index.php/Developers/Tutorials

Developer resources:
http://www.innoscript.org/component/option,com_remository/Itemid,33/func,selectcat/cat,3/
 

___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com