Cynapse Community
Open source in the Enterprise: Plone @ Novell
Novell has used various proprietary CMS solutions over time, including TeamSite and Vignette. None of these solutions met all of their needs, nor were they easy to modify. Novell began looking at different Open Source CMS options, and decided on Plone. This presentation will briefly discuss Novell's proprietary CMS history, why they chose Plone, what Novell are currently using and developing, and their plans for the future. It will also discuss Novell's architecture for making Plone successful for enterprise websites.
Evaluating cyn.in at the academy of fine arts vienna
Hello, every 01!
I am Georg Gogo. BERNHARD. I've been playing with plone since i saw it being presentet 2002 at the EuroPython in Charleroi, Belgium. Now I am working at the ]a[ academy of fine arts vienna. I tweeted about our recent ambitions to test cyn.in and @viraf asked me to share our experiences at the #cynapse community pages.
First I thought that there would be a lot to say about which problems we had and how we solved them, but it fact the whole procedure was pretty easy. We already have a ZEO-Cluster setup for the homepage (http://www.akbild.ac.at) and we re-used the infrastructure for cyn.in.
web01 proxy01 lvs01 webXX zeo01
| .... |
+------+
+--------+ +-------+ +------+ > zope < +-----+
| | | | | | / |------| \ | |
<---> apache <---> squid <---> ipvs <---> zope <---> zeo |
| | | | | | \ |------| / | |
+--------+ +-------+ +------+ > zope < +-----+
+------+
| .... |
Virtualhost Cache Balancer Servers Storage
Our Team tested the cyn.in Desktop and WebDAV, everything works pretty well. On Apple Computers we have to use Cyberduck for WebDAV, though; the Operating Systems implementation (Finder) does not work well. We also decided not to "roll out" the Desktop and WebDAV now, because we think it is too complicated for people to actually use it since they "see too many things" in their respective clients - it might be confusing for regular users. In our opinion downstripping is still key.
Language integration for German is not finished and we don't have the resources to complete it ourselves.
When we finally presented cyn.in as a solution for collaboration we had excellent responses. People found it confusing at first sight [sic!] but then realized that it is easy to use since you'd only use some of its functions. We will definitively use it for two pilot projects now, one is a construction project for one of our buildings, the other project is internal communication in a department.
To sum things up: cyn.in seems to be the solution we were looking for.
How-To manage and track versions of documents in Cyn.in
A video created by Steven Milstein showing an example of a (less than) 5-minute How-To Demo on Cyn.in's Version Control capability available with most editing features.
Search Error for logedin users
Well, after being away for a while on a cretin project, I'm back to work with cyn.in in our company :) Away, the problem arose. Seems that after we updated to latest cyn.in a while back (actually after the release), we can't use search as a logged in user. Here is the log (notice the variable PATH_INFO):
| Time | 2010/01/22 11:15:05.278 GMT+1 |
|---|---|
| User Name (User Id) | luka (luka) |
| Request URL | http://10.10.0.237/search |
| Exception Type | IndexError |
| Exception Value | list index out of range |
Traceback (innermost last):
- Module ZPublisher.Publish, line 119, in publish
- Module ZPublisher.mapply, line 88, in mapply
- Module ZPublisher.Publish, line 42, in call_object
- Module Shared.DC.Scripts.Bindings, line 313, in __call__
- Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
- Module Products.CMFCore.FSPageTemplate, line 216, in _exec
- Module Products.CacheSetup.patch_cmf, line 28, in FSPT_pt_render
- Module Products.CacheSetup.patch_utils, line 9, in call_pattern
- Module Products.CMFCore.FSPageTemplate, line 155, in pt_render
- Module Products.CacheSetup.patch_cmf, line 74, in PT_pt_render
- Module Products.CacheSetup.patch_utils, line 9, in call_pattern
- Module Products.PageTemplates.PageTemplate, line 98, in pt_render
- Module zope.pagetemplate.pagetemplate, line 117, in pt_render
Warning: Macro expansion failed
Warning: exceptions.IndexError: list index out of range - Module zope.tal.talinterpreter, line 271, in __call__
- Module zope.tal.talinterpreter, line 346, in interpret
- Module zope.tal.talinterpreter, line 891, in do_useMacro
- Module zope.tal.talinterpreter, line 346, in interpret
- Module zope.tal.talinterpreter, line 536, in do_optTag_tal
- Module zope.tal.talinterpreter, line 521, in do_optTag
- Module zope.tal.talinterpreter, line 516, in no_tag
- Module zope.tal.talinterpreter, line 346, in interpret
- Module zope.tal.talinterpreter, line 957, in do_defineSlot
- Module zope.tal.talinterpreter, line 346, in interpret
- Module zope.tal.talinterpreter, line 536, in do_optTag_tal
- Module zope.tal.talinterpreter, line 521, in do_optTag
- Module zope.tal.talinterpreter, line 516, in no_tag
- Module zope.tal.talinterpreter, line 346, in interpret
- Module zope.tal.talinterpreter, line 949, in do_defineSlot
- Module zope.tal.talinterpreter, line 346, in interpret
- Module zope.tal.talinterpreter, line 855, in do_condition
- Module zope.tal.talinterpreter, line 346, in interpret
- Module zope.tal.talinterpreter, line 824, in do_loop_tal
- Module zope.tal.talinterpreter, line 346, in interpret
- Module zope.tal.talinterpreter, line 536, in do_optTag_tal
- Module zope.tal.talinterpreter, line 521, in do_optTag
- Module zope.tal.talinterpreter, line 516, in no_tag
- Module zope.tal.talinterpreter, line 346, in interpret
- Module zope.tal.talinterpreter, line 536, in do_optTag_tal
- Module zope.tal.talinterpreter, line 521, in do_optTag
- Module zope.tal.talinterpreter, line 516, in no_tag
- Module zope.tal.talinterpreter, line 346, in interpret
- Module zope.tal.talinterpreter, line 855, in do_condition
- Module zope.tal.talinterpreter, line 346, in interpret
- Module zope.tal.talinterpreter, line 688, in do_i18nVariable
REQUEST
form
| y | '0' |
|---|---|
| x | '0' |
| SearchableText | 'password' |
cookies
| I18N_LANGUAGE | 'en' |
|---|---|
| __ac | 'B+SBvyFTuActiyHgrpqxHuFnZKMgbHVrYV9zYWxlaw==' |
| statusmessages | None |
lazy items
| SESSION | <bound method SessionDataManager.getSessionData of <SessionDataManager at /session_data_manager>> |
|---|
other
| VIRTUAL_URL_PARTS | ('http://10.10.0.237', 'search') |
|---|---|
| VIRTUAL_URL | 'http://10.10.0.237/search' |
| _ec_cache | {284020428: <Products.PageTemplates.Expressions.ZopeContext object at 0x10e0580c>} |
| __ac | 'B+SBvyFTuActiyHgrpqxHuFnZKMgbHVrYV9zYWxlaw==' |
| AUTHENTICATION_PATH | 'cynin/virtual_hosting//' |
| disable_border | 1 |
| x | '0' |
| LANGUAGE | 'en' |
| AUTHENTICATED_USER | <PloneUser 'luka'> |
| SERVER_URL | 'http://10.10.0.237' |
| traverse_subpath | [] |
| ACTUAL_URL | 'http://10.10.0.237/search' |
| statusmessages | None |
| URL | 'http://10.10.0.237/search' |
| I18N_LANGUAGE | 'en' |
| PUBLISHED | <FSPageTemplate at /cynin/search> |
| TraversalRequestNameStack | [] |
| _pts_is_rtl | False |
| VirtualRootPhysicalPath | ('', 'cynin') |
| LANGUAGE_TOOL | <Products.PloneLanguageTool.LanguageTool.LanguageBinding instance at 0x10edc42c> |
| SearchableText | 'password' |
| BASE1 | 'http://10.10.0.237' |
| BASE2 | 'http://10.10.0.237/search' |
| y | '0' |
| URL1 | 'http://10.10.0.237' |
| URL0 | http://10.10.0.237/search |
| URL1 | http://10.10.0.237 |
| BASE0 | http://10.10.0.237 |
| BASE1 | http://10.10.0.237 |
| BASE2 | http://10.10.0.237/search |
environ
| HTTP_X_FORWARDED_SERVER | 'cynin' |
|---|---|
| HTTP_REFERER | 'http://10.10.0.237/login_form' |
| HTTP_ACCEPT_LANGUAGE | 'en-us,en;q=0.5' |
| SERVER_SOFTWARE | 'Zope/(Zope 2.10.9-final, python 2.4.6, linux2) ZServer/1.1 Plone/3.3.2' |
| SCRIPT_NAME | '' |
| REQUEST_METHOD | 'GET' |
| PATH_INFO | '/VirtualHostBase/http/10.10.0uka (luka).237:80/cynin/VirtualHostRoot//search' |
| SERVER_PROTOCOL | 'HTTP/1.1' |
| QUERY_STRING | 'SearchableText=password&x=0&y=0' |
| channel.creation_time | 1264155304 |
| CONNECTION_TYPE | 'Keep-Alive' |
| HTTP_ACCEPT_CHARSET | 'ISO-8859-1,utf-8;q=0.7,*;q=0.7' |
| HTTP_USER_AGENT | 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7' |
| HTTP_COOKIE | 'I18N_LANGUAGE="en"; __ac="B+SBvyFTuActiyHgrpqxHuFnZKMgbHVrYV9zYWxlaw=="; statusmessages="A+RXZWxjb21lISBZb3UgYXJlIG5vdyBsb2dnZWQgaW4uaW5mbw=="' |
| SERVER_NAME | '0.0.0.0' |
| REMOTE_ADDR | '127.0.0.1' |
| HTTP_VIA | '1.1 cynin' |
| PATH_TRANSLATED | '/VirtualHostBase/http/10.10.0.237:80/cynin/VirtualHostRoot/search' |
| SERVER_PORT | '8080' |
| HTTP_HOST | 'localhost:8080' |
| HTTP_ACCEPT | 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' |
| GATEWAY_INTERFACE | 'CGI/1.1' |
| HTTP_X_FORWARDED_FOR | '10.10.0.2' |
| HTTP_X_FORWARDED_HOST | '10.10.0.237' |
| HTTP_ACCEPT_ENCODING | 'gzip,deflate' |
Smart collections criteria fix until Cyn.in update
To a problem discussed here:
Login as siteadmin, go to Site Settings and add the following code to the JavaScript for web statistics support
<script type="text/javascript">
<!--
/* HELPFUL FUNCTIONS */
function fix_colat() {
if ($('form[name="criteria_select"] select#criterion_type option').length <= 0) {
$('form[name="criteria_select"] select#criterion_type').html($('form[name="criteria_select"] select#criterion_type').text());
}
}
/* RUN MAIN FUNCTION */
$(document).ready(function () {
$('form[name="criteria_select"] select#criterion_type').change(function () { fix_colat();});
fix_colat();
});
-->
</script>
As always, you are free to comment the temporary fix :) Please note that when cyn.in 3.0.6 comes out you should remove this code and see how it works then :)

Blog
Status Log
Wiki