Re: GSoC Idea : A new Plone message board

Timo Stollenwerk <tisto-z4DKO/[email protected]>
Newsgroups gmane.comp.web.zope.plone.devel
Message-ID <[email protected]>
Hello Aman,

sorry for not replying sooner, I was on a vacation. I'm glad to hear
that you are interested in that topic!

Am 02.03.2014 19:56, schrieb Aman Arora:
> Hello,
> 
> I am interested in this idea as well and want to know more about it.
> I have the skills required for it. I am good with Python, HTML, JS and
> as was suggested to me for another project idea (Better helper packages
> for the security team) I went through the documentation for dexterity
> content types, tried using it and now have a basic knowledge about it.
> Also I am ready to learn new technologies.
> 
> I cloned the repository mentioned :
> https://github.com/tisto/collective.ploneboard
> also the product : http://plone.org/products/ploneboard 
> 
> Setting up of product is done. I used Ploneboard. Tried it by making a
> simple forum. I found it cool. Its great for users as they can make a
> forum/chat/message board very easily.

The general idea is to re-write the functionality of Products.Ploneboard
from the scratch in collective.ploneboard. In 2009 I did a GSoC
implementing a new commenting infrastructure for Plone and we would like
to build the new collective.ploneboard implementation on top of that (as
well as on top of our new content type framework Dexterity).

> I want to know more about the idea, as well as the implementation part.
> It would be great if Timo Stollenwerk and other developers can guide me
> for the project as well as help me understand the proof-of-concept
> implementation which has been done :
> https://github.com/tisto/collective.ploneboard .

I just fixed the buildout. Just do:

git clone https://github.com/tisto/collective.ploneboard.git
cd collective.ploneboard
python bootstrap.py
bin/buildout

With that in place, you can run the tests with:

bin/test

or start the instance with:

bin/instance fg

> I want to know how I should start working for it. As in what the project
> wants and the guidelines for it to be done. As mentioned in the ideas
> page, I want to know about the "current best practices" and "use the
> latest technology" which needs to be done.

1) Have a look at Products.Ploneboard and write down what
functionalities it provides. If you are familiar with agile development
methodologies, I would suggest that you write down some user stories in
a simple spreadsheet. You can start to extend the four user stories I
already implemented for the prototype:

https://github.com/tisto/collective.ploneboard/blob/master/TUTORIAL.txt#L69

2) Familiarize yourself with Dexterity, this is the content type
framework that we should use to implement the basic message board
content types:

http://developer.plone.org/reference_manuals/external/plone.app.dexterity/index.html

The prototype has been implemented with Dexterity, so you might want to
have a look at the code as well:

https://github.com/tisto/collective.ploneboard/

3) Familiarize yourself with plone.app.discussion, this is the
commenting framework that we should use for the actual discussion items
(replies):

https://pypi.python.org/pypi/plone.app.discussion/2.3.1
http://pythonhosted.org/plone.app.discussion/
https://github.com/plone/plone.app.discussion

4) Have a look at my implementation of the prototype, especially at the
unit/integration tests that I wrote:

https://github.com/tisto/collective.ploneboard/tree/master/src/collective/ploneboard/tests

It would help a lot if you could familiarize yourself with
plone.app.testing (the Plone testing framework):

http://developer.plone.org/reference_manuals/external/plone.app.dexterity/testing/index.html

> Looking forward for guidance to help me make a good proposal as well as
> do good work.

For a good proposal it is important that you come up with a detailed
plan of what you want to accomplish during the three months. If you need
help with that, feel free to write me an email or ping me on IRC
(username: tisto).

Cheers,
Timo

------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.