Maintaining a website or web-related project

From Mandriva Community Wiki

Jump to: navigation, search
Mandriva hosts several websites and projects it maintains or encourages. All of them follow guidelines defined initially by the web team and a roadmap. The web team has a crucial role for Mandriva as it has to take charge of most of the online services for the distribution and the community.


People are welcome to participate and help sharing experience and improving the Mandriva websites for them to get better. Currently, the web team is composed of one Mandriva employee and a half; volunteers are entirely welcome to join and help.

Contents

Suggested profile for this activity :

Image:WebDeveloper.png

Description of this role : Develop, maintain platforms & communicate through the Web.

Skills you must possess or acquire in the process:

  • understanding online user data privacy matters;
  • understanding Free Software;
  • excellent relations (trust) with community representatives as well as Mandriva webteam,
  • English written knowledge as a minimum (because of documentation main language, tools and team size - this requirement may evolve depending on the team size/culture/languages); communication with current Mandriva webteam may happen in French and English; other languages knowledge & practice is welcome!
  • PHP, MySQL, HTML, CSS, Javascript knowledge mostly
  • Subversion, git, mercurial knowledge
  • knowledge of any of these may be a plus: Apache, Nginx, lighttpd, Perl, Python, Ruby, PostgreSQL, NoSQL stuff,
  • Linux system basic administration & usage knowledge

What you work on depends first on you - what you want to do and how you can do it.


What maintaining Mandriva websites is really about?

Contributing means that you have access to source code of open platforms and that you have the ability to report and qualify issues about a website in the Bugzilla, if possible with a patch to fix the issue.

Maintaining a website/service/webapp may consist of one or several of the following :

  • having fun;
  • meeting regularly with Mandriva webteam (on line, through email, IRC, IM - or IRL);
  • taking ownership of the application;
  • being available to users, through the forum, web-discuss, Twitter, a blog;
  • having access to dev, test, staging & prod servers;
  • overview of the app usage, status & metrics;
  • proposing or implementing planned or requested features, having prioritized them;
  • fixing reported bugs;
  • having a say (although not necessarily the final one) on the app future.

However, it mostly comes down to understanding a current situation, fixing existing code and writing new working code.


Which websites can you maintain?

Currently, the existing candidates to community maintenance are :

Ideas

Community calendar

  • status: idea/draft, not yet published
  • role: publish events of Mandriva, community & MUGs in a common place to help coordination & information
  • first draft based on l'Agenda du Libre, http://www.agendadulibre.org/svn/ - maybe replaced with an other tool - there's a Django-based version here http://www.agendadulibre.qc.ca/
  • tools: PHP, MySQL
  • code: svn checkout http://svn.mandriva.com/svn/web/calendar/trunk licensed under GPL v2
  • needs:
    • sync with source tree
    • patch to adapt for a worldwide usage - or to make multiple
    • patch to integrate into Mandriva website
    • plugging in a map & with MUGs lists
  • alternative: use one of the many events/locations web apps around there, that would integrate nicely with our system

Hardware Compatibility List

  • status: online beta at http://hcl.mandriva.com/
  • role:
    • to gather, organize & publish hardware automated reports as well as QA & users compatibility reports;
    • for both developers, to get a picture of used systems & accessories, and users, to get references to supported hardware.
  • tools: PHP (Zend framework inside), MySQL
  • code: not public yet, can be released under GPL
  • needs:
    • working on this requires coordination with webteam, qateam & devteam as well as a good understanding of other existing solutions out there.
    • may need a full redesign/export at this point
    • see Hardware_Compatibility_List_(HCL)_Website page

Forum

  • status: online at http://forum.mandriva.com/
  • role: to enable people to gather, discuss, help each other; task here is to start anew what has been tried twice, gather requirements, install a new clean platform in a multi-locales setup, integrate it with Mandriva user db services and integrate it seamlessly with existing forum which will be moved as a read-only archive.
  • tools: PHP, MySQL
  • needs:
    • a new setup based on a up-to-date release of a forum platform
    • other non technical-related issues
  • requires:
    • a good understanding of PHP/MySQL, of security issues,
    • knowledge of phpBB (2 for some time, 3)

Other potential candidates

  • Wiki platform - role would first be to maintain the code base and improve performance, design/accessibility (using upstream as much as possible); will need some understanding of Apache hosting and proxy handling; will require extensive collaboration with isteam, cooker and webteam.
  • contributing improvements to global Mandriva design and style guide/sheet (as in, fixing/improving/deploying HTML/CSS/JS or as in, providing graphical resources and integration)
  • contributing to Mandriva online user services (could be: setting up an Elgg instance, plugging OpenID/OAuth services in, improving system/online account interaction, etc.)
  •  ?

Non-candidate platforms

At this time:

  • main website (www/www2)
  • store platform
  • downloads platform
  • user db & services platform
  • support platform
  • mailing-lists & archives platform

Main reason is these are more tightly coupled to the company for business/legal reasons at this time or they may not gather enough interest. It may change.

Helping on translation (or edition as well, as for the main website) is open to contribution, but this is a different process than developer/maintainer' one which is explained here). We're as well looking for editors/managers for local online store platforms (per country).

How can you join?

  • subscribe to web-discuss
  • ask, listen, read, propose (ideas, but even better, patches)
  • present yourself, what you can do, what you want to do (may be out of this list and integrated, if relevant)

Webteam is available through several means:

Please understand that the webteam is _small_ at this time, so an answer through email/forum may take up to more than one week (depending on availability and schedule).

Useful links

Personal tools
In other languages