Koozali.org: home of the SME Server
Contribs.org Forums => Development => Topic started by: Xavier.A on June 08, 2015, 05:12:16 PM
-
************************
* DEVELOPER STARTER KIT *
************************
Welcome to development forum for the Koozali SME Server...
GENERAL DOCUMENTATION
=================
Koozali SME Server
----------------------
- The SME Server Developer's Guide (http://wiki.contribs.org/SME_Server:Documentation:Developers_Manual)
- SME Server 9.0 Development (http://wiki.contribs.org/SME_Server_9.0_Development)
- SME Server 10.0 Development (http://wiki.contribs.org/SME_Server_10.0_Development)
- Category:Developer (http://wiki.contribs.org/Category:Developer)
- Category:Development Tools (http://wiki.contribs.org/Category:Development_Tools)
- Package Modification (http://wiki.contribs.org/Package_Modification)
- Simple Package Modification (http://wiki.contribs.org/Simple_Package_Modification)
- SME Server:Adding Software (http://wiki.contribs.org/SME_Server:Adding_Software)
- Createlinks example script (http://wiki.contribs.org/Createlinks_example_script)
- ...
- Bonus : Flat file database (https://en.wikipedia.org/wiki/Flat_file_database)
- Bonus : XML (https://en.wikipedia.org/wiki/XML)
LINUX Project
----------------
- Linux (https://en.wikipedia.org/wiki/Linux) & The Linux Foundation (http://www.linuxfoundation.org/)
- Linux kernel (https://en.wikipedia.org/wiki/Linux_kernel) & The Linux Kernel Archives (https://kernel.org/)
- Linux Standard Base (https://en.wikipedia.org/wiki/Linux_Standard_Base)
- Filesystem Hierarchy Standard (https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard)
- The Linux man-pages project (https://www.kernel.org/doc/man-pages/)
- The Linux Documentation Project (http://www.tldp.org/)
- Linux How-to (ftp://www.ibiblio.org/pub/Linux/docs/HOWTO/)
- Bonus : Aide-mémoire administrateur Linux (http://www.enseignement.polytechnique.fr/informatique/INF583/memo_admin_linux.html)
- Bonus : Berkeley Software Distribution (https://en.wikipedia.org/wiki/Berkeley_Software_Distribution)
- Bonus : Architecture of Windows NT (https://en.wikipedia.org/wiki/Architecture_of_Windows_NT)
GNU Project
--------------
- Coreutils - GNU core utilities (https://www.gnu.org/software/coreutils/coreutils.html) & GNU Core Utilities (https://en.wikipedia.org/wiki/GNU_Core_Utilities)
- GNU Recutils (https://www.gnu.org/software/recutils/)
- GNU Binutils (https://www.gnu.org/software/binutils/) & GNU Binutils (https://en.wikipedia.org/wiki/GNU_Binutils)
- Bonus : List of Unix commands (https://en.wikipedia.org/wiki/List_of_Unix_commands)
- Bonus : Aide-mémoire des commandes Unix (http://www.enseignement.polytechnique.fr/informatique/INF583/memo_commandes_unix.html)
- Bonus : BusyBox (https://en.wikipedia.org/wiki/BusyBox)
Software licenses
--------------------
- Software license (https://en.wikipedia.org/wiki/Software_license)
- OSI - Licenses & Standards (http://opensource.org/licenses)
- BSD licenses (https://en.wikipedia.org/wiki/BSD_licenses)
- Apache License (https://www.apache.org/licenses/)
- GNU Licences (https://www.gnu.org/licenses/licenses.en.htmll)
- The Artistic License (http://dev.perl.org/licenses/artistic.html)
- The Creative Commons copyright licenses (https://creativecommons.org/licenses/?lang=en)
- ...
- Bonus : The Software Freedom Law Center (https://www.softwarefreedom.org/)
- Bonus : Les droits d'auteur pour les nuls (http://www.maitre-eolas.fr/post/2009/02/20/1321-les-droits-d-auteur-pour-les-nuls) (in french but very useful)
DEVELOPMENT
=========
Software project management
----------------------------------
- Software project management (https://en.wikipedia.org/wiki/Software_project_management)
- Producing Open Source Software (http://producingoss.com/html-chunk/index.html)
- Systems development life cycle (https://en.wikipedia.org/wiki/Systems_development_life_cycle)
- Cycle de développement (logiciel) (https://fr.wikipedia.org/wiki/Cycle_de_d%C3%A9veloppement_%28logiciel%29)(french)
- Software design (https://en.wikipedia.org/wiki/Software_design)
- Conception de logiciel (https://fr.wikipedia.org/wiki/Conception_de_logiciel) (french )
- ...
Development environment
------------------------------
- Integrated development environment (https://en.wikipedia.org/wiki/Integrated_development_environment)
- Eclipse - The Eclipse Foundation (https://www.eclipse.org/) & Orion (https://orionhub.org/)
- NetBeans (https://netbeans.org)
- Aptana (http://www.aptana.com/)
- Modelio Open Source Community (https://www.modelio.org/)
- Padre, the Perl IDE (http://padre.perlide.org/)
- MySQL Workbench (https://dev.mysql.com/downloads/workbench/)
- Vim, Emacs, Kate, Gedit, Kiki, Acire....
- Bonus : Scratch (https://scratch.mit.edu/) :lol:
Learn to code
---------------
- Learn to code (http://www.codecademy.com/fr?locale_code=en)
- Le Wagon - The French innovative coding school (http://www.lewagon.org/en)
- Les meilleurs cours et tutoriels sur la programmation et l'informatique professionnelle (http://general.developpez.com/cours)
- OpenClassrooms (http://openclassrooms.com/)
- Khan Academy (https://www.khanacademy.org/)
Programming language
--------------------------
- Shell : Choice of Shell (https://en.wikibooks.org/wiki/Guide_to_Unix/Explanations/Choice_of_Shell)
- Shell : Shellology (https://www.gnu.org/software/autoconf/manual/autoconf-2.64/html_node/Shellology.html#Shellology)
- Shell : Aide-mémoire de la programmation shell (http://www.enseignement.polytechnique.fr/informatique/INF583/memo_programmation_shell.html)
- Shell : ShellEd (http://marketplace.eclipse.org/content/shelled) & Terminal plug-in for Eclipse (https://code.google.com/p/elt/)
- Perl : The Perl Programming Language (https://www.perl.org/)
- Perl : The Perl Programming Documentation (http://perldoc.perl.org/index.html)
- Perl : Perl HowTo (http://www.perlhowto.com/)
- Perl : The Comprehensive Perl Archive Network (http://www.cpan.org/)
- Perl : Perl Programming (https://en.wikibooks.org/wiki/Perl_Programming)
- Perl : EPIC - Perl Editor and IDE for Eclipse (http://www.epic-ide.org/)
- Python : Python.org (https://www.python.org/)
- Python : the Python Package Index (https://pypi.python.org/)
- Python : Python programming language (https://en.wikibooks.org/wiki/Subject:Python_programming_language)
- Python : PyDev - Python IDE for Eclipse (http://marketplace.eclipse.org/content/pydev-python-ide-eclipse)
- Web : World Wide Web Consortium (W3C) (http://www.w3.org/) (x/HTML, CSS, SVG,...)
- Web : The W3C Markup Validation Service (http://validator.w3.org/)
- Web : The W3C CSS Validation Service (https://jigsaw.w3.org/css-validator/validator.html.en)
- Web : Can I use... (http://caniuse.com/)
- Web : HTML 5 - Une référence pour le développeur web (http://www.eyrolles.com/Informatique/Livre/html-5-une-reference-pour-le-developpeur-web-9782212136388) (french)
- ...
ALM & SCM
-------------
- Tuleap (https://www.tuleap.org/)
- Mylyn (https://eclipse.org/mylyn/)
- Tuleap Mylyn and Agile planner connector (https://marketplace.eclipse.org/content/tuleap-mylyn-and-agile-planner-connector)
- Git (https://git.wiki.kernel.org/)
- Gitblit (http://gitblit.com/)
- Eclipse Gitblit (https://marketplace.eclipse.org/content/eclipse-gitblit)
- ...
Packaging
-----------
- Maximum RPM (http://www.rpm.org/max-rpm/)
- Packaging software with RPM, Part 1: Building and distributing packages (http://www.ibm.com/developerworks/library/l-rpm1/)
- Configuring a Dedicated RPM Development Box (https://iuscommunity.org/pages/ConfiguringADedicatedRPMDevelopmentBox.html#configuring-a-dedicated-rpm-development-box)
- Building RPMs in Hudson or Jenkins (http://www.itforeveryone.co.uk/rpm-build-hudson-jenkins.html)
- Bonus : Coexistence with Other Packaging Systems (https://debian-handbook.info/browse/en-US/stable/sect.coexistence-with-other-packaging-systems.html)
- Bonus : OpenEmbedded (https://en.wikipedia.org/wiki/OpenEmbedded)
CERTIFICATIONS
==========
- Linux Professional Institute (https://www.lpi.org/)
- LPI France (http://www.lpi-fr.net/)
- Linux Certif (http://www.linuxcertif.com/)
- Bonus : European Computer Driving Licence (https://en.wikipedia.org/wiki/European_Computer_Driving_Licence)
- Bonus : The BSD Certification Group (http://www.bsdcertification.org/)
Feel free to add your information links.
-
http://www.sme-server.de/download/Howtos/e-smith_panel_howto.html is completely deprecated, you should recommend to use formagick
http://wiki.contribs.org/Category:Development_Tools is not enough you should recommend to see http://wiki.contribs.org/Category:Developer
my 2C
-
Thanks for starting this. A few links which are interesting for those who want to start hacking on SME:
- http://wiki.contribs.org/Package_Modification
- http://wiki.contribs.org/Simple_Package_Modification
- http://wiki.contribs.org/SME_Server:Adding_Software
- http://wiki.contribs.org/Createlinks_example_script
-
JFTR, the links under Koozali SME Server section should only contain links that are under the contribs.org main domain. External links (such as sme-server.de or wikipedia) should be listed under 'other resources' of some sort. They are not part of any official documentation, nor have any kind of approval.
Once we agree on the above index, we can create a final wiki page. But it needs to be correct.
-
I agree.. external links are likely outdated and dangerous..
-
Modifications done !
-
In total there are 96 links to all kinds of websites and resources. This is SME Server, it should be all about SME Server, this is not a general Linux forum for newbie devs or users.
Only 9 (less than 10%) links point to SME Server, and none of them point or emphasize the unique db system and template system. Contribs.org is not an educational institution for Linux or other aspects of using an OS. I'ts about SME Server.
I like the idea, but it needs to address SME Server specifically. There are a zillion resources out there addressing the other 90+% topics of any interest.
This is SME Server, nothing more, nothing less. 100% should be about SME Server.
1. What makes SME Server unique
2. What does it take to use SME Server
3. What does it take to adapt SME Server
4. What does it take to develop for SME Server
Then we can setup a proper SME Server developers starter kit. By the way, all developers info is already embedded in the wiki. And the devinfo mailing list is a great source of help IF you should choose to use it.
-
Great work team. Keep it up.
I have said before that we could do with a 'education/school' type area where we can encourage new people to come and play and learn. We need new people, and need to encourage that as much as possible.
Maybe it should have a separate area - say a subdomain and site like school.contribs.org or school.koozali.org or somesuch where there is basic linux info and some simple dev stuff (and anything else people feel is appropriate)
That could separate the playing from the slightly more serious stuff to start with.
Any thoughts ?
B. Rgds
John
-
I agree.. external links are likely outdated and dangerous..
in other hand i didn't know the site http://www.sme-server.de/index.html and there are a lot of resources quite interesting, some are outdated, but there are tricks still usable.
some wiki players should have a start and save what is nice to keep, before the site will go down, a day
http://www.sme-server.de/download/Howtos/index.html
I started to play tonight
http://wiki.contribs.org/Special:RecentChanges
-
From my point of view, if you want do debate about what is pure SME or not, you should use the Koozali SME Server mailing list ;-)
Please, here it is only to collect information links. Try to be opened minded and not exclusive ! Everyone should be able to follow the next posts.
Koozali SME Server is :
- a GNU/LINUX Server
- based on RH/Centos
- developed with Shell, Perl and Python scripts....
- installed in a FHS filesystem in the respect of the LSB norme
- packaged in RPM files
- contribs could be developed in many other programming languages (erlang, lua, C/C++, java, php....)
The goal here is to get a common development culture. All developers should have read these documentation.
You need this common culture if you are not able to recognize what is really the SME Server DB (Flat file DB?) and if you are not able to understand or to write a XML DTD (FormMagick?). Of course you don't need to be able to use UML or to know all the sorting algorithms but It would help a lot :lol:
Maybe it should have a separate area - say a subdomain and site like school.contribs.org or school.koozali.org or somesuch where there is basic linux info and some simple dev stuff (and anything else people feel is appropriate)
You should keep the things as simple as possible (KISS principle) for the moment. Let's see if the development forum is used. Maybe the next school year, it will be possible for the students to participate to this forum and to the Koozali' development.
The academic institution follows their own rules. Wait and see ...
XA
-
I take Xaviers point that SME is fundamentally Linux, and to use more than the basic web interface you need to have an understanding of Linux.
Personally any information that helps and guides people is no bad thing if it is clearly laid out. Something that SME has always been good at is documentation and resources. Long may that continue.
Good work Xavier - be nice to see it wiki'd - perhaps this could be stickied in this forum ?
B. Rgds
John