@Evgeniy. Yes at: http://code.google.com/p/django-alfresco/
I have a wheelhouse and it's integrating Django with a Java Open Source project. Today I get to announce the next one, Django Alfresco. We combined the Alfresco's document management capabilities with Django's web tier components. I get mixed reactions when I tell people about this project. Anywhere from, "Why did you go and mess up a good thing" to "This is amazing." The former more than the latter, but I'm going to try to convince you that it is a really good idea to use this project. Jeff Potts who is the ECM lead at Optaros and got the project to a place where it could be released has a post on it and a screencast.
About 9 months ago I got shipped off to work for a client in Dallas, Texas. They where implementing Alfresco to handle the content of their intranet newspaper, mostly for the workflow process. Getting a story from drafts, to pending and then through to the approval process. They needed a web tier to display this content and that's where the issues started. Alfresco has a few of it's own solutions; WCM and Surf. WCM has notoriously had stability issues, but the blocker was that you couldn't search across sites. Surf was very new at the time and it takes about 5 xml files to display and image. I'm probably exaggerating, but that's what it felt like. A portal was the next thought, Liferay or JBoss, but why all the weight of a portal when all we need to do is pull HTML files out of Alfresco.
So we created a simple POC for them using Alfresco's REST interface and Django as the web tier. Simple, easy and it took only a couple days to build. After getting over the initial anxiety of Python, Django and Apache we were on our way.
There are two main functions a news site needs to perform: get a listing of documents based on a category and displaying a detailed view of that content. We have a simple hierarchy structure which maps a space id to a category, so in a sense a folder in Alfresco becomes a category and every piece of content in that folder now belongs to it. Django has deserializers which allow an XML or JSON file to be converted into Django Model object seamlessly. Using an Alfresco Webscript we format the response using Freemarker to a Django friendly XML document. With a Space model we run the following code and like magic we have a list of python objects:
In [1]: from alfresco.models import Space
In [2]: space = Space.objects.all()[0]
In [3]: space.contents.all()
Out[3]:
[Content: 1e66b2b3-2dba-4a5f-9527-de754c3a983e - test-1.html,
Content: 0599e21d-d078-4911-a4a6-8ad5a7ae7f1d - test-2.html]
The responses from Alfresco are cached using whatever Django caching backend you choose. We recommend switching away from the default local memory setting to file based caching or memcached.
To get access to Alfresco's content repository the user needs to be authenticated. Because of this there is no such thing as an anonymous user, but instead a default user. If a user visits the site for the first time they are automatically logged in as the default user that gives them access to basic content. Users that then log into the system with advanced privileges will get access to more content in searches and category displays. Through Django's Authentication Backends we completely circumvent all of Django's authentication and let Alfresco handle it. The Webscripts use an alf_ticket to authenticate users, therefore we had to save that ticket somewhere. Here's what the AlfrescoUser model:
class AlfrescoUser(User):
"""
Alfresco User.
Extends the User model to apply the ticket.
"""
ticket = models.CharField(max_length=50, blank=True,
null=True)
objects = UserManager()
Django Alfresco ships with a sample site which makes it's really easy for users to evaluate the project before jumping in. You can find these install instruction in the code under docs. Unfortunately we don't have these hosted yet, as they aren't complete.
Big thanks goes to Justin Luzier, Ron Bostic and Kris McCuller who codeveloped this with me and to Jeff Potts who took it from a piece of code to something worth sharing.
For more information on it follow @jeffpotts01 or me (screeley) on Twitter.
@Evgeniy. Yes at: http://code.google.com/p/django-alfresco/
Вполне возможно. Иногда так случается.
Люди в подобных случаях так говорят - Без ножа, да зарезал. ;)
Да уж Но, как говорится в поговорке, а воз и ныне там :)
Почитаю что Вы пишете - дом2 вспоминается :)
Немного провакационный пост. Поэтому такие и комментарии :)
Да уж... Тут как говорится: Алмаз алмазом гранится, плут плутом губится :)
Жесть! С наладонника немного тяжело читается, но оно того стоит!
Немного провакационный пост. Поэтому такие и комменты :)
I'm a developer out of Boston MA and I work for a consulting firm specializing in open source technologies.
This space will deal with the work I've participated in using the Django framework to build applications for enterprise clients.
Finally, I hate the word blog and Drupal.
"best value pay as go mobile phone email accounts http://www.orderphonetoday.com/p660-windows-6-1-quad-band-with-wifi-gps-java--item45.html mobile software code <a href=http://www.orderphonetoday.com/qwerty-keyboard-category5.html>my mobile phone turns off and on by itself</a> mobile office ..."
at 6:15p.m. Feb. 8, 2010 | permalink
"Немного провакационный пост. Поэтому такие и комменты :)"
at 2:16a.m. Feb. 6, 2010 | permalink
"nobility mobile homes http://www.orderphonetoday.com/camera-phones-category10.html how to activate virgin mobile <a href=http://www.orderphonetoday.com/t2000i-quad-band-dual-card-with-analog-tv--item35.html>unblock lg mobile</a> mobile phones importer exporter"
at 2:33a.m. Feb. 5, 2010 | permalink
"Только если вот кому интересно, ? могут ставить"
at 12:43p.m. Jan. 28, 2010 | permalink
"Да это еще ниче тебя несколько видел ? Позитива к не хватает"
at 7:14a.m. Jan. 28, 2010 | permalink
"Да это еще ниче Не давно ввел такую фичу ? это та вещь"
at 8:45p.m. Jan. 27, 2010 | permalink
"истребить невозможно! понравилась ? могут ставить"
at 7:32p.m. Jan. 27, 2010 | permalink
"не думая данного периода развития , Удивительн"
at 5:50p.m. Jan. 27, 2010 | permalink
"ДА! но нашел для себя интересные реализации этим конкретно"
at 4:26a.m. Jan. 26, 2010 | permalink
"Хорошо я её ещё день назад просматривал ВсЁ не осилил зараз((("
at 4:21p.m. Jan. 25, 2010 | permalink
"Хорошо А какой самый ? Буду пробовать, искать… _____________ http://gallery007.ru"
at 2:57p.m. Jan. 25, 2010 | permalink
"ДА! Просто, ясно и доступно. ВсЁ не осилил зараз((("
at 1:13a.m. Jan. 25, 2010 | permalink
Is this released as an open source project?