Skip to content

Brief Specs for drupal.org.ro

claudiu-cristea edited this page Oct 2, 2014 · 13 revisions

Description

The site (http://drupal.org.ro) is designed as the official website of Drupal Romania Association. It should provide basic functionality for displaying association profile, events and also must help the association manage the memberships and member votes.

Components

Basic

The site will expose the next basic functionality:

About us

  1. Board: A view exposing users having the role board
  2. Legal Framework
  • Articles of Incorporation
  • Statute
  • Court Legal Recognition
  • Tax Registration Certificate
  • Drupal Trademark License Agreement

Contact Form

Blog/News

An article node-type will be created to hold articles/blog/announcements. Last nodes to be displayed on the frontpage. All articles can be browsed on a dedicated page (view) at /articles where some basic filters will be exposed and items will be paged.

Fields

An article node-type should have at least next fields:

  • Title (multilingual)
  • Main image
  • Body (multilingual)
  • Free tags
  • Other images
  • Author
  • Post Date
  • Social media widgets to share the article
  • Comments. A hosted solution like Disqus is preferable?

Permission and Moderation

All users having a valid membership are able to post articles but articles are subject of moderation. Role moderator is able to approve articles. Articles created by users with role moderator are automatically published.

Events

Events are nodes of type event.

Fields

  • Title (multilingual)
  • Date - with End Date
  • Location
  • Coordinates (geocoded from Location, exposed as Google Maps map)
  • Description (multilingual)
  • Image
  • Author
  • Free tags
  • Link: A link to the event website (might be Facebook or Meetup event page)
  • iCal attachment (for importing in MS Outlook or OS X Calendar)
  • Social media widgets to share the event
  • Comments. A hosted solution like Disqus is preferable?

Permission and Moderation

All users having a valid membership are able to post events. Events are subject of moderation. Role moderator is able to approve events. Events created by users with role moderator are automatically published.

Calendar

There must be a Calendar View page.

Upcoming events

A list of upcoming events placed on a map is exposed as a block on the frontpage and is linked to Calendar.

Membership

When a user wants to enroll with the associations we buys membership(s). A membership is just 1 year subscription to the association. When he chose to buy, he'll be asked for quantity. "Quantity" == "Number of Years". So, after a checkout and a successful payment he will get a valid transaction.

Users having a valid membership are assigned to the role member. Users with expired membership are receiving the role expired.

The membership history will is saved on each user profile.

Voting: Decisions, Elections

The system must allow the Association legal bodies to collectively make decisions by voting. Users having a specific role must be able to vote on a specific topic or must be able to elect members in different positions (president, board, etc).

Examples of decisions or elections:

  • All valid members (users of role member AKA having valid membership) must be able to elect the Association Board.
  • All valid members must be able to vote on proposals that are in the General Assembly competence.
  • Users having the role board (members of association board) must be able to vote on specific topics.

Each voting process must met some conditions:

  • The poll is available to specific role(s).
  • The voting process is limited in time. Open and close time for polls.
  • [optional] Quorum. Some polls may require quorum to be valid.

Users

Roles

Public access — anonymous user:

  • Are able to access the static pages, articles, events, decisions made public.
  • Can post to contact form
  • Can share articles, events on social media.
  • Are able to search the site

It would be very nice if we can let the users to register only if they have paid at least once. That means that anonymous are able to checkout then they can register only if this has been successful. Once they are registered the can have one of the 2 roles: member (if has a valid membership) or expired (if has no valid membership). I see no reason of having just members registering without being members.

User Profiles

Users are able to store information on their profile:

  • Real name
  • Gender
  • Birth date
  • Drupal.org user URL
  • Bio
  • Picture
  • etc.

Multilingual

The site main language is English. Romanian language is available too with fallback in EN. Path prefix to be used for RO.

Frontend

Clean responsive theme.