From 02de648412d1c02bf6a89303268b11bdbf0a31c1 Mon Sep 17 00:00:00 2001 From: nagarjun Date: Sun, 24 Jun 2012 00:46:20 +0530 Subject: documentation updated --- MANIFEST.in | 2 +- README.rst | 4 +- demo/settings.py | 47 ----- demo/urls.py | 47 ----- django_gstudio.egg-info/PKG-INFO | 284 --------------------------- django_gstudio.egg-info/dependency_links.txt | 1 - django_gstudio.egg-info/not-zip-safe | 1 - django_gstudio.egg-info/requires.txt | 9 - django_gstudio.egg-info/top_level.txt | 3 - docs/concept_graphs.rst | 2 +- docs/conf.py | 4 +- docs/constructing_semantic_network.rst | 12 +- docs/contribution.rst | 28 +-- docs/extending_entry_model.rst | 88 --------- docs/import_export.rst | 5 + docs/install.rst | 123 ++++++++---- docs/publishing.nbh.rst | 6 +- docs/rdf_graphs.rst | 5 + docs/requirements.txt | 27 +-- docs/rss_feeds.rst | 2 +- docs/search_engines.rst | 10 +- docs/tests.rst | 44 ++--- docs/thanks.rst | 20 +- 23 files changed, 181 insertions(+), 593 deletions(-) delete mode 100644 django_gstudio.egg-info/PKG-INFO delete mode 100644 django_gstudio.egg-info/dependency_links.txt delete mode 100644 django_gstudio.egg-info/not-zip-safe delete mode 100644 django_gstudio.egg-info/requires.txt delete mode 100644 django_gstudio.egg-info/top_level.txt diff --git a/MANIFEST.in b/MANIFEST.in index c8f7113..99c2376 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,7 +2,7 @@ include README.rst include LICENSE.txt include buildout.cfg include bootstrap.py -#recursive-include docs * +recursive-include docs * recursive-include patches * recursive-include gstudio/fixtures *.json recursive-include gstudio/locale * diff --git a/README.rst b/README.rst index 742b120..7e76728 100644 --- a/README.rst +++ b/README.rst @@ -136,7 +136,7 @@ django-blog-zinnia, which taught us best software development practices as well! After reviewing each feature for the purpose of semantic blogging, we will retain or extend the following features. - +The features listed here are not thourougly tested. There is a likelyhood of misbehavior. * Comments * Sitemaps @@ -147,7 +147,7 @@ semantic blogging, we will retain or extend the following features. * Tags * Advanced search engine * Prepublication and expiration -* Edition in MarkDown, Textile or reStructuredText +* Editing in MarkDown, Textile or reStructuredText * Widgets (Popular entries, Similar entries, ...) * Spam protection with Akismet or TypePad * Admin dashboard diff --git a/demo/settings.py b/demo/settings.py index 1c7e776..a0c2513 100644 --- a/demo/settings.py +++ b/demo/settings.py @@ -1,50 +1,3 @@ -# Copyright (c) 2011, 2012 Free Software Foundation - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. - -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - - -# This project incorporates work covered by the following copyright and permission notice: - -# Copyright (c) 2009, Julien Fache -# All rights reserved. - -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: - -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# * Neither the name of the author nor the names of other -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. - -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -# OF THE POSSIBILITY OF SUCH DAMAGE. # Copyright (c) 2011, 2012 Free Software Foundation diff --git a/demo/urls.py b/demo/urls.py index f36152a..86d5eb8 100644 --- a/demo/urls.py +++ b/demo/urls.py @@ -14,53 +14,6 @@ # along with this program. If not, see . -# This project incorporates work covered by the following copyright and permission notice: - -# Copyright (c) 2009, Julien Fache -# All rights reserved. - -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: - -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# * Neither the name of the author nor the names of other -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. - -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -# OF THE POSSIBILITY OF SUCH DAMAGE. - -# Copyright (c) 2011, 2012 Free Software Foundation - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. - -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - """Urls for the demo of Gstudio""" from django.conf import settings diff --git a/django_gstudio.egg-info/PKG-INFO b/django_gstudio.egg-info/PKG-INFO deleted file mode 100644 index 5eaa218..0000000 --- a/django_gstudio.egg-info/PKG-INFO +++ /dev/null @@ -1,284 +0,0 @@ -Metadata-Version: 1.0 -Name: django-gstudio -Version: 0.3.dev -Summary: A collaborative blogspace for constructing and publishing semantic knowledge networks and ontologies -Home-page: http://github.com/gnowgi/django-gstudio -Author: gnowgi -Author-email: nagarjun@gnowledge.org -License: BSD License -Description: ================== - gstudio: Gnowledge Studio - ================== - - A collaborative workspace for constructing and publishing semantic - knowledge networks and ontologies as blogs. - - Features taking shape - ===================== - - As and when a feature is tested and working it will be listed below. - - Nodes implemented - ================= - - Gstudio Components - ------------------ - - * Metatypes - * Object types - * Relation types - * Attribute types - * System types - * Process types - * Attributes - * Relations - * Node Specification - * Relation Specification - * Attribute Specification - * Union - * Complement - * Intersection - - - Objectapp Components - ------------------ - - * Objects - * Systems - * Processes - - Online Collaborative Platform - ============================= - - The application is built as a collaborative on line platform. - - Version Control - --------------- - All the nodes above are also registered with django-reversion for - version control using django-reversion. - - User Registration - ----------------- - - Basic registration using django-registration - - - Features you will see soon: - =========================== - - * neighbourhood graphs and concept graphs - * dynamic forms for adding attributes and relations following the - definition - - Other Semantic Web features to come - =================================== - - * data in RDF format - * rdf feed to a triple store - * sparql endpoint - * export and import of standard knowledge representation languages: CL, OWL, XTM etc. - - Features adopted from Django-Blog-Zinnia - ======================================== - - The following features are adopted from django-blog-zinnia code base - with a lot of gratitude. Thanks to an excellent codebase of - django-blog-zinnia, which taught us best software development - practices as well! After reviewing each feature for the purpose of - semantic blogging, we will retain or extend the following features. - - * Comments - * `Sitemaps`_ - * Archives views - * Related entries - * Private entries - * RSS or Atom Feeds - * Tags and categories views - * `Advanced search engine`_ - * Prepublication and expiration - * Edition in `MarkDown`_, `Textile`_ or `reStructuredText`_ - * Widgets (Popular entries, Similar entries, ...) - * Spam protection with `Akismet`_ or `TypePad`_ - * Admin dashboard - * `MetaWeblog API`_ - * Ping Directories - * Ping External links - * `Bit.ly`_ support - * `Twitter`_ support - * `Gravatar`_ support - * `Django-CMS`_ plugins - * Collaborative work - * Tags autocompletion - * `Entry model extendable`_ - * Pingback/Trackback support - * `Blogger conversion utility`_ - * `WordPress conversion utility`_ - * `WYMeditor`_, `TinyMCE`_ and `MarkItUp`_ support - * Ready to use and extendables templates - * `Windows Live Writer`_ compatibility - - Examples - ======== - - We will soon create a sandbox site for users to play and test the features. - - Project Page - ============ - - https://www.metastudio.org/groups/gstudio/overview - - ============ - Installation - ============ - - .. module:: gstudio - - .. _dependencies: - - Dependencies - ============ - - Make sure to install these packages prior to installation : - - * `Python 2.x`_ >= 2.5 - * `Django`_ >= 1.3 - * `django-mptt`_ >= 0.4.2 - * `django-tagging`_ >= 0.3.1 - * `BeautifulSoup`_ >= 3.2.0 - - The packages below are optionnal but needed for run the full test suite. - - * `pyparsing`_ >= 1.5.5 - * `django-xmlrpc`_ >= 0.1.3 - - Note that all the dependencies will be resolved if you install - Gstudio with :program:`pip` or :program:`easy_install`, excepting Django. - - .. _getting-the-code: - - Getting the code - ================ - - .. highlight:: console - - For the latest stable version of Gstudio use :program:`easy_install`: :: - - $ easy_install django-gstudio - - or use :program:`pip`: :: - - $ pip install django-gstudio - - You could also retrieve the last sources from - https://github.com/gnowgi/django-gstudio. Clone the repository - using :program:`git` and run the installation script: :: - - $ git clone git://github.com/gnowgi/django-gstudio.git - $ cd django-gstudio - $ python setup.py install - - or more easily via :program:`pip`: :: - - $ pip install -e git://github.com/gnowgi/django-gstudio.git#egg=django-gstudio - - .. _applications: - - Applications - ============ - - .. highlight:: python - - Then register :mod:`gstudio`, and these following applications in the - :setting:`INSTALLED_APPS` section of your project's settings. :: - - INSTALLED_APPS = ( - # Your favorite apps - 'django.contrib.contenttypes', - 'django.contrib.comments', - 'django.contrib.sessions', - 'django.contrib.sites', - 'django.contrib.admin', - 'tagging', - 'mptt', - 'gstudio',) - - .. _template-context-processors: - - Template Context Processors - =========================== - - Add these following - :setting:`template context processors` if not - already present. :: - - TEMPLATE_CONTEXT_PROCESSORS = ( - 'django.core.context_processors.auth', - 'django.core.context_processors.i18n', - 'django.core.context_processors.request', - 'django.core.context_processors.media', - 'django.core.context_processors.static', - 'gstudio.context_processors.version',) # Optional - - .. _urls: - - URLs - ==== - - Add the following lines to your project's urls.py in order to display the - blog. :: - - url(r'^gstudio/', include('gstudio.urls')), - url(r'^comments/', include('django.contrib.comments.urls')), - - Note that the default gstudio URLset is provided for convenient usage, but - you can customize your URLs if you want. Here's how: :: - - url(r'^', include('gstudio.urls.capabilities')), - url(r'^search/', include('gstudio.urls.search')), - url(r'^sitemap/', include('gstudio.urls.sitemap')), - url(r'^trackback/', include('gstudio.urls.trackback')), - url(r'^gstudio/tags/', include('gstudio.urls.tags')), - url(r'^gstudio/feeds/', include('gstudio.urls.feeds')), - url(r'^gstudio/authors/', include('gstudio.urls.authors')), - url(r'^gstudio/categories/', include('gstudio.urls.categories')), - url(r'^gstudio/discussions/', include('gstudio.urls.discussions')), - url(r'^gstudio/', include('gstudio.urls.quick_entry')), - url(r'^gstudio/', include('gstudio.urls.entries')), - url(r'^comments/', include('django.contrib.comments.urls')), - - .. _static-files: - - Static Files - ============ - - Since the version 1.3 of Django, Gstudio uses the - :mod:`django.contrib.staticfiles` application to serve the static files - needed. Please refer to - https://docs.djangoproject.com/en/dev/howto/static-files/ for more - informations about serving static files. - - .. _`Python 2.x`: http://www.python.org/ - .. _`Django`: https://www.djangoproject.com/ - .. _`django-mptt`: https://github.com/django-mptt/django-mptt/ - .. _`django-tagging`: https://code.google.com/p/django-tagging/ - .. _`BeautifulSoup`: http://www.crummy.com/software/BeautifulSoup/ - .. _`pyparsing`: http://pyparsing.wikispaces.com/ - .. _`django-xmlrpc`: https://github.com/Fantomas42/django-xmlrpc - - CHANGELOG - ========= - - 0.10 - ---- - - -Keywords: django,blog,weblog,zinnia,post,news,gnowsys,gnowledge,semantic,networks,ontolgies -Platform: UNKNOWN -Classifier: Framework :: Django -Classifier: Development Status :: 3 - Development/Alpha -Classifier: Environment :: Web Environment -Classifier: Programming Language :: Python -Classifier: Intended Audience :: Developers -Classifier: Operating System :: OS Independent -Classifier: License :: OSI Approved :: BSD License -Classifier: Topic :: Software Development :: Libraries :: Python Modules diff --git a/django_gstudio.egg-info/dependency_links.txt b/django_gstudio.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/django_gstudio.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/django_gstudio.egg-info/not-zip-safe b/django_gstudio.egg-info/not-zip-safe deleted file mode 100644 index 8b13789..0000000 --- a/django_gstudio.egg-info/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/django_gstudio.egg-info/requires.txt b/django_gstudio.egg-info/requires.txt deleted file mode 100644 index c54c5df..0000000 --- a/django_gstudio.egg-info/requires.txt +++ /dev/null @@ -1,9 +0,0 @@ -BeautifulSoup>=3.2.0 -django-mptt>=0.4.2 -django-tagging>=0.3.1 -django-xmlrpc>=0.1.3 -pyparsing>=1.5.5 -django-reversion>=1.5.1 -django-grappelli>=2.3.4 -django-ratings>=0.3.6 -rdflib>=3.0.0 \ No newline at end of file diff --git a/django_gstudio.egg-info/top_level.txt b/django_gstudio.egg-info/top_level.txt deleted file mode 100644 index ce6c104..0000000 --- a/django_gstudio.egg-info/top_level.txt +++ /dev/null @@ -1,3 +0,0 @@ -demo -gstudio -objectapp diff --git a/docs/concept_graphs.rst b/docs/concept_graphs.rst index 0b33fa9..9969aa5 100644 --- a/docs/concept_graphs.rst +++ b/docs/concept_graphs.rst @@ -7,6 +7,6 @@ language representations of knowledge. If any of you would like to contribute these modules, we will be more than happy to collaborate with you. Please write about your interest to , or join us to talk to our team in the mailing list or jabber -conference room. We hang around in the glab room at +conference room. We hang around in the room `glab` at conference.jabber.org. diff --git a/docs/conf.py b/docs/conf.py index 2a37fb3..03c80d1 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -98,7 +98,7 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -project = u'Django Blog Gstudio' +project = u'GNOWSYS Studio' copyright = u'%s, %s' % (date.today().year, gstudio.__author__) # The version info for the project you're documenting, acts as replacement for @@ -271,6 +271,6 @@ latex_documents = [ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'django-gstudio', u'django-gstudio Documentation', + ('index', 'gnowsys-studio', u'gnowsys-studio Documentation', [u'gnowgi'], 1) ] diff --git a/docs/constructing_semantic_network.rst b/docs/constructing_semantic_network.rst index a226cd3..f536b8e 100644 --- a/docs/constructing_semantic_network.rst +++ b/docs/constructing_semantic_network.rst @@ -2,10 +2,14 @@ Creating Nodes ============== -Use YOUR_URL\admin to login and create nodes. The network is built by -adding the various nodetypes provided by the two main sets of the Gstudio -application: Gstudio and Objectapp. The network emerges as you keep -filling the forms one after the other. +Register and login to construct the semantic network. The network is +built by adding the various nodetypes provided by the two main sets of +the gnowsys-studio application: Gstudio and Objectapp. The network emerges +as you keep filling the forms one after the other. + +Documentation yet to be done. Meanwhile, ask for help in the mailing +list. + Object types ============ diff --git a/docs/contribution.rst b/docs/contribution.rst index 4353e2f..914b996 100644 --- a/docs/contribution.rst +++ b/docs/contribution.rst @@ -1,10 +1,11 @@ -====================== -Contributing to Zinnia -====================== +============================== +Contributing to GNOWSYS-STUDIO +============================== .. highlightlang:: console -Zinnia is an open-source project, so yours contributions are welcomed and needed. +GNOWSYS-studio is a free software project, so yours contributions are +welcome and needed. .. _writing-code: @@ -19,7 +20,7 @@ code ? You are welcome. Process ------- -#. `Fork`_ the code on Github. +#. `Fork`_ the code on Github or savannah. #. Clone a local copy of your fork. #. Write tests. #. Develop your code. @@ -66,7 +67,7 @@ project, and serves as a reference for old timers. On top of this, documentation is the one area where less technical people can help most - you just need to write a semi-decent English. People need -to understand you. We don’t care about style or correctness. +to understand you. We don’t care about style or rigorously grammatical. The documentation should : @@ -76,7 +77,7 @@ The documentation should : * Be accessible. You should assume the reader to be moderately familiar with Python and Django, but not anything else. -Keep it mind that documenting is most useful than coding, so your +Keep it in mind that documenting is most useful than coding, so your contribution will be greatly appreciated. .. _writing-translations: @@ -85,15 +86,4 @@ Translations ------------ If you want to contribute by updating a translation or adding a translation -in your language, it's simple: create a account on Transifex.net and you -will be able to edit the translations at this URL : - -https://www.transifex.net/projects/p/django-blog-zinnia/resource/djangopo/ - -.. image:: http://www.transifex.net/projects/p/django-blog-zinnia/resource/djangopo/chart/image_png - -The translations hosted on Transifex.net will be pulled periodically in the -repository, but if you are in a hurry, `send me a message`_. - -.. _`Fork`: https://github.com/Fantomas42/django-blog-zinnia/fork -.. _`send me a message`: https://github.com/inbox/new/Fantomas42 +in your language, let us know. diff --git a/docs/extending_entry_model.rst b/docs/extending_entry_model.rst index faa00e5..e69de29 100644 --- a/docs/extending_entry_model.rst +++ b/docs/extending_entry_model.rst @@ -1,88 +0,0 @@ -===================== -Extending Entry model -===================== - -.. module:: zinnia.models - -The :class:`Entry` model bundled in Zinnia can now be extended and customized. - -This feature is useful for who wants to add some fields in the model, -or change its behavior. It allows Zinnia to be a really generic -and reusable application. - -Imagine that I find Zinnia really great, but that is misses some fields -or features to be the blog app that I need for my Django project. -For example I need to add a custom field linking to an image gallery, -2 solutions: - -* I search for another Django blogging app fitting my needs. -* I make a monkey patch, but I won't be able to upgrade to future releases. - -These 2 solutions are really bad, that's why Zinnia provides -a third solution. - -* Customizing the model noninvasively with the power of inheritance. - -How do we do that? - -In fact, simply by creating an abstract model inherited from -:class:`EntryBaseModel`, adding fields or/and overriding his methods, and -registering it with the :setting:`ZINNIA_ENTRY_BASE_MODEL` setting in your -project. - -Example for adding a gallery field. :: - - from django.db import models - from mygalleryapp.models import Gallery - from zinnia.models import EntryAbstractClass - - class EntryGallery(EntryAbstractClass): - gallery = models.ForeignKey(Gallery) - - class Meta: - abstract = True - - -Now you register the :class:`EntryGallery` model like this in your -project's settings. :: - - ZINNIA_ENTRY_BASE_MODEL = 'appname.custom_entry.EntryGallery' - - -Finally extend the entry's admin class to show your custom field. :: - - from django.contrib import admin - from zinnia.models import Entry - from zinnia.admin.entry import EntryAdmin - from django.utils.translation import ugettext_lazy as _ - - class EntryGalleryAdmin(EntryAdmin): - - # In our case we put the gallery field - # into the 'Content' fieldset - fieldsets = ((_('Content'), {'fields': ( - 'title', 'content', 'image', 'status', 'gallery')})) + \ - EntryAdmin.fieldsets[1:] - - admin.site.unregister(Entry) - admin.site.register(Entry, EntryGalleryAdmin) - - -You can see another example in the files :file:`zinnia/plugins/placeholder.py` -and :file:`zinnia/plugins/admin.py`. - -.. note:: You have to respect **4 important rules** : - - #. Do not import the Entry model in your file defining the - extended model because it will cause a circular importation. - - #. Do not put your abstract model in a file named models.py, - it will not work for a non obvious reason. - - #. Don't forget to tell that your model is abstract. Otherwise a - table will be created and the extending process will not work - as expected. - - #. If you extend the Entry model after the syncdb command, you - will have to reset the Zinnia application to reflect your - changes. diff --git a/docs/import_export.rst b/docs/import_export.rst index 22ce881..0c35246 100644 --- a/docs/import_export.rst +++ b/docs/import_export.rst @@ -4,6 +4,11 @@ Import / Export .. highlightlang:: console +As the codebase of gnowsys-studio is based on a blog application, we +inherited some import/export features. The following features have +not been tested thoroughly. Each published node is considered in this +documentation as a blog. + If you already have a blog, Gstudio has the ability to import your posts from other blogging platforms. Useful for rapid migration. Since Gstudio is a semantic blogging application, all the data that goes to diff --git a/docs/install.rst b/docs/install.rst index 8201e53..bba8a2b 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -2,7 +2,7 @@ Installation ============ -.. module:: gstudio +.. module:: gnowsys-studio .. _dependencies: @@ -16,14 +16,23 @@ Make sure to install these packages prior to installation : * `django-mptt`_ >= 0.4.2 * `django-tagging`_ >= 0.3.1 * `BeautifulSoup`_ >= 3.2.0 - -The packages below are optionnal but needed for run the full test suite. - -* `pyparsing`_ >= 1.5.5 * `django-xmlrpc`_ >= 0.1.3 +* `pyparsing`_ >= 1.5.5 +* `django-reversion`_ >= 1.5.1 +* `django-grappelli`_ >= 2.3.4 +* `django-ratings`_ >= 0.3.6 +* `rdflib`_ >= 3.0.0 +* `django-registration`_ >=0.8 +* `django-4store`_ >= 0.3 +* `HTTP4Store`_ >= 0.2 +* `html5lib`_ >= 0.95 +* `PIL`_ >= 1.1.7 +* `diff-match-patch`_ >= 20120106 + Note that all the dependencies will be resolved if you install -Gstudio with :program:`pip` or :program:`easy_install`, excepting Django. +gnowsys-studio with :program:`pip` or :program:`easy_install`, +excepting Django. .. _getting-the-code: @@ -32,25 +41,25 @@ Getting the code .. highlight:: console -For the latest stable version of Gstudio use :program:`easy_install`: :: +For the latest version of Gstudio use :program:`easy_install`: :: - $ easy_install django-gstudio + $ easy_install gnowsys-studio or use :program:`pip`: :: - $ pip install django-gstudio + $ pip install gnowsys-studio You could also retrieve the last sources from https://github.com/gnowgi/django-gstudio. Clone the repository using :program:`git` and run the installation script: :: - $ git clone git://github.com/gnowgi/django-gstudio.git - $ cd django-gstudio + $ git clone git://github.com/gnowgi/gnowsys-studio.git + $ cd gnowsys-studio $ python setup.py install or more easily via :program:`pip`: :: - $ pip install -e git://github.com/gnowgi/django-gstudio.git#egg=django-gstudio + $ pip install -e git://github.com/gnowgi/gnowsys-studio.git#egg=gnowsys-studio .. _applications: @@ -59,19 +68,41 @@ Applications .. highlight:: python -Then register :mod:`gstudio`, and these following applications in the -:setting:`INSTALLED_APPS` section of your project's settings. :: +Then register :mod:`gstudio`, `objectapp`, and these following +applications in the :setting:`INSTALLED_APPS` section of your +project's settings. :: - INSTALLED_APPS = ( - # Your favorite apps - 'django.contrib.contenttypes', +INSTALLED_APPS = ( + 'django.contrib.auth', + 'django.contrib.sitemaps', 'django.contrib.comments', + 'django.contrib.contenttypes', 'django.contrib.sessions', + 'django.contrib.messages', 'django.contrib.sites', - 'django.contrib.admin', - 'tagging', 'mptt', - 'gstudio',) + 'reversion', + 'tagging', + 'django_xmlrpc', + 'grappelli.dashboard', + 'grappelli', + 'gstudio', + 'objectapp', + 'django.contrib.admin', + 'django.contrib.admindocs', + 'django.contrib.staticfiles', + 'djangoratings', + 'registration', + 'graphviz', + 'demo', + 'fourstore', + 'HTTP4Store', + 'html5lib', + # Uncomment the south entry to activate south for database migrations + # Please do install south before uncommenting + # command: sudo pip install south + # 'south', + ) .. _template-context-processors: @@ -96,33 +127,43 @@ URLs ==== Add the following lines to your project's urls.py in order to display the -blog. :: - - url(r'^gstudio/', include('gstudio.urls')), - url(r'^comments/', include('django.contrib.comments.urls')), - -Note that the default gstudio URLset is provided for convenient usage, but -you can customize your URLs if you want. Here's how: :: - - url(r'^', include('gstudio.urls.capabilities')), - url(r'^search/', include('gstudio.urls.search')), - url(r'^sitemap/', include('gstudio.urls.sitemap')), - url(r'^trackback/', include('gstudio.urls.trackback')), - url(r'^gstudio/tags/', include('gstudio.urls.tags')), - url(r'^gstudio/feeds/', include('gstudio.urls.feeds')), - url(r'^gstudio/authors/', include('gstudio.urls.authors')), - url(r'^gstudio/categories/', include('gstudio.urls.categories')), - url(r'^gstudio/discussions/', include('gstudio.urls.discussions')), - url(r'^gstudio/', include('gstudio.urls.quick_entry')), - url(r'^gstudio/', include('gstudio.urls.entries')), - url(r'^comments/', include('django.contrib.comments.urls')), +site. + +Note that the default gnowsys-studio URLset is provided for convenient +usage, but you can customize your URLs if you want. Here's how: :: + +urlpatterns = patterns( + '', + (r'^$', 'django.views.generic.simple.redirect_to', + {'url': '/home/'}), + url(r'^home/', home_view), + url(r'^more/',more_view), + url(r'^nodetypes/', include('gstudio.urls')), + url(r'^objects/', include('objectapp.urls')), + url(r'^comments/', include('django.contrib.comments.urls')), + #URL for XMLRPC + url(r'^xmlrpc/$','django_xmlrpc.views.handle_xmlrpc'), + url(r'^i18n/', include('django.conf.urls.i18n')), + url(r'^admin/doc/', include('django.contrib.admindocs.urls')), + url(r'^admin/gstudio/', include('gstudio.urls.ajaxurls')), + url(r'^admin/', include(admin.site.urls)), + url(r'^objects/admin/', include(admin.site.urls)), + url(r'^nodetypes/admin/', include(admin.site.urls)), + url(r'^grappelli/', include('grappelli.urls')), + url(r'^accounts/register/$', register, {'backend': 'gstudio.regbackend.MyBackend','form_class': UserRegistrationForm}, name='registration_register'), + + url(r'^accounts/', include('registration.urls')), + + url(r'^$', 'django.views.generic.simple.redirect_to', + { 'template': 'index.html' }, 'index'), + ) .. _static-files: Static Files ============ -Since the version 1.3 of Django, Gstudio uses the +Since the version 1.3 of Django, gnowsys-studio uses the :mod:`django.contrib.staticfiles` application to serve the static files needed. Please refer to https://docs.djangoproject.com/en/dev/howto/static-files/ for more diff --git a/docs/publishing.nbh.rst b/docs/publishing.nbh.rst index 086718e..e6c3199 100644 --- a/docs/publishing.nbh.rst +++ b/docs/publishing.nbh.rst @@ -4,6 +4,8 @@ Publishing Neighbourhood as a Semantic Blog For each node of the semantic network, we generate the neighbourhood of each node as a hyperlinked content object in HTML, an image in -hyperlinked nodes in an SVG image format and as an RDF graph. More -options will be provided soon as navigatable concept graphs. +hyperlinked nodes in an SVG image format and as an RDF graph. + +Based on the examples given, developers can represent the graphs in +they way they like. diff --git a/docs/rdf_graphs.rst b/docs/rdf_graphs.rst index fcce668..3f58a17 100644 --- a/docs/rdf_graphs.rst +++ b/docs/rdf_graphs.rst @@ -9,5 +9,10 @@ data, excluding private information of users and system specific data. We use rdflib library. Therefore any notation or RDF store options provided by rdflib can be supported. +Currently this feature is implemented as a part of the management +module. Two specific commands are implemented: one to dump all data in +RDF in a file and upload it to the integrated 4store. The second +command returns RDF graph of a given node id. + More details will be updated as and when we enhance the details of this feature. diff --git a/docs/requirements.txt b/docs/requirements.txt index d5f7319..95ff9e0 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,11 +1,16 @@ -PIL -django==1.3.1 -django-bitly==0.6 -django-mptt==0.4.2 -django-tagging==0.3.1 -django-xmlrpc==0.1.3 -BeautifulSoup==3.2.0 -akismet==0.2.0 -feedparser==5.0.1 -gdata==2.0.15 -pyparsing==1.5.5 +BeautifulSoup>=3.2.0 +django>=1.4 +django-mptt>=0.4.2 +django-tagging>=0.3.1 +django-xmlrpc>=0.1.3 +pyparsing>=1.5.5 +django-reversion>=1.5.1 +django-grappelli>=2.3.4 +django-ratings>=0.3.6 +rdflib>=3.0.0 +django-registration>=0.8 +django-4store>=0.3 +HTTP4Store>=0.2 +html5lib>=0.95 +PIL>=1.1.7 +diff-match-patch>=20120106 diff --git a/docs/rss_feeds.rst b/docs/rss_feeds.rst index 64eeac2..106967e 100644 --- a/docs/rss_feeds.rst +++ b/docs/rss_feeds.rst @@ -7,4 +7,4 @@ Latest contributions from the site are published as RSS feeds. You can download the feeds directly or use them through your favorite RSS feed browser. - +Ping back, traceback features are also implemented. diff --git a/docs/search_engines.rst b/docs/search_engines.rst index b960ddb..ee767fe 100644 --- a/docs/search_engines.rst +++ b/docs/search_engines.rst @@ -4,11 +4,11 @@ Search Engines .. module:: gstudio.views.search -Gstudio like almost all blogging systems contains a +Gstudio like almost all web publishing systems contains a :func:`search engine` feature. But in fact there are 2 search engines, a basic and an advanced, the -advanced search engine is enabled by default, but if he fails the +advanced search engine is enabled by default, but if it fails the basic search engine will resume the job. .. _basic-search-engine: @@ -117,3 +117,9 @@ These are words such as **on**, **the** or **which** that are generally not meaningful and cause irrelevant results. The list of stop words is stored in the :setting:`GSTUDIO_STOP_WORDS` setting. + +Since the apps gstudio and objectapp are implemented similarly, all +the above features work similarly for the objectapp as well. + +As and when we integrate the search engine into a common module, we +will update the documentation here. diff --git a/docs/tests.rst b/docs/tests.rst index dbd03e3..063a812 100644 --- a/docs/tests.rst +++ b/docs/tests.rst @@ -15,16 +15,23 @@ the benefits of software testing, some prophets will do it better than me. * http://en.wikipedia.org/wiki/Software_testing * https://docs.djangoproject.com/en/dev/topics/testing/ -Of course Gstudio is tested using the `unittest`_ approach. -All the tests belong in the directory :file:`gstudio/tests/`. +Of course gnowsys-studio has a testing framework. However, we were +impatient and developed several hasty features, without writing +unit-tests. You have been warned. Please contribute if you have a +zeal to write test cases to match the software requirements and use +cases. + + All the tests belong in the directory :file:`gstudio/tests/` and + `objectapp/tests`. .. _lauching-test-suite: Launching the test suite ======================== -If you have :ref:`run the buildout script` bundled in -Gstudio, the tests are run under `nose`_ by launching this command: :: +If you have :ref:`run the buildout script` +bundled in gnowsys-studio, the tests are run under `nose`_ by +launching this command: :: $ ./bin/test @@ -32,13 +39,16 @@ But the tests can also be launched within a Django project with the default test runner: :: $ django-admin.py test gstudio --settings=gstudio.testsettings + $ django-admin.py test objectapp --settings=gstudio.testsettings -Using the ``./bin/test`` script is usefull when you develop because the tests -are calibrated to run fast, but testing Gstudio within a Django project even -if it's slow, can prevent some integration issues. +Using the ``./bin/test`` script is usefull when you develop because +the tests are calibrated to run fast, but testing gnowsys-studio +within a Django project even if it's slow, can prevent some +integration issues. -If you want to make some speed optimizations or compare with your tests -results, you can check the actual execution time of the tests at this URL: +If you want to make some speed optimizations or compare with your +tests results, you can check the actual execution time of the tests at +this URL: http://django-blog-gstudio.com/documentation/xunit/ @@ -47,22 +57,8 @@ http://django-blog-gstudio.com/documentation/xunit/ Coverage ======== -Despite my best efforts, some functionnalities are not yet tested, that's why -I need your help ! - -As I write these lines the **121** tests in Gstudio cover **96%** of the code -bundled in Gstudio. A real effort has been made to obtain this percentage, -for ensuring the quality of the code. - -I know that a coverage percent does not represent the quality of the tests, -but maintaining or increasing this percentage ensures the quality of -Gstudio and his future evolutions. - -You can check the actual coverage percent at this URL: - -http://django-blog-gstudio.com/documentation/coverage/ +We need help here. Any body there? -I hope that you will write some tests and find some bugs. :) .. _`unittest`: http://docs.python.org/library/unittest.html .. _`nose`: http://somethingaboutorange.com/mrl/projects/nose/ diff --git a/docs/thanks.rst b/docs/thanks.rst index 9cc2c9d..9137184 100644 --- a/docs/thanks.rst +++ b/docs/thanks.rst @@ -3,6 +3,20 @@ Thanks ====== Major thanks to the creators of Django community, Django-blog-zinnia, -mptt, reversion and my colleagues in the gnowledge lab. Without them transforming a blogging app into a -semantic blogging app wouldn't have been easy. Will soon update this -file with specific names, sorry for my laziness. +mptt, reversion and my colleagues in the gnowledge lab. Without them +transforming a blogging app into a semantic blogging app wouldn't have +been easy. + + - Johnson + - Kabir + - Anuja + - Supriya + - Dheeru + - Rajiv + - Ganesh + - Nagarjuna + +There are several other student interns who contributed to the +project. We Will soon update this file with specific names, apologies +for the laziness. + -- cgit v1.1