CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Discussion (deprecated) »
  • Documentation, Book and Training Resources (Moderator: Michał Mach) »
  • What developer documentation is still relevant?
Pages: [1] 2

Author Topic: What developer documentation is still relevant?  (Read 3222 times)

joanne

  • Administrator
  • Ask me questions
  • *****
  • Posts: 852
  • Karma: 83
  • CiviCRM version: 4.4.16
  • CMS version: Drupal 7
What developer documentation is still relevant?
October 21, 2013, 03:53:25 am
On http://wiki.civicrm.org/confluence/display/CRMDOC/Notes+for+New+Developers+and+Webmasters there is a link to the "civicrm architecture series" ( http://civicrm.org/architecture) but that page is not there.

The missing page along with references to ERD 2.0 and ERD 1.7 makes me wonder if the rest of the page is still relevant.

Can I assume that any page updated in the last 6 months will be mostly relevant?

(I have already nearly been caught out once with the developer book talking about svn rather than github.)

   


xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: What developer documentation is still relevant?
October 21, 2013, 04:19:41 am
Hi,

I fixed the /architecture missing redirection. thx

They are more recent ERD, could you update the wiki?

As for keeping up to date the documentation. err, could be better, and will be if we get more people on board to help. The most up to date documentation is often the code or what is automatically generated (obviously), but the wiki tend to be not too late behind. in most pages. But keeping an eye on when it was last modified is a good practice.

X+
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

Coleman Watts

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 2346
  • Karma: 183
  • CiviCRM version: The Bleeding Edge
  • CMS version: Various
Re: What developer documentation is still relevant?
October 21, 2013, 08:32:58 am
I think the most up-to-date stuff is http://wiki.civicrm.org/confluence/display/CRMDOC/Developer+Reference
Try asking your question on the new CiviCRM help site.

joanne

  • Administrator
  • Ask me questions
  • *****
  • Posts: 852
  • Karma: 83
  • CiviCRM version: 4.4.16
  • CMS version: Drupal 7
Re: What developer documentation is still relevant?
October 21, 2013, 08:28:38 pm
Have updated the ERD info on the wiki. 

I also edited the Basic set up chapter of the developer guide to refer people to http://wiki.civicrm.org/confluence/display/CRMDOC/GitHub+for+CiviCRM .  It might be good if someone can approve and publish the edits.

Coleman Watts

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 2346
  • Karma: 183
  • CiviCRM version: The Bleeding Edge
  • CMS version: Various
Re: What developer documentation is still relevant?
October 21, 2013, 10:07:06 pm
We are thinking of getting rid of the developer book altogether. It gets out-of-date so fast, and it's hard to maintain documentation in more than one place.
Try asking your question on the new CiviCRM help site.

Eileen

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4195
  • Karma: 218
    • Fuzion
Re: What developer documentation is still relevant?
October 21, 2013, 11:14:11 pm
That's one reason why many projects use phpdoc heavily. I don't know if we could do something more automated in any areas, perhaps hooks.
Make today the day you step up to support CiviCRM and all the amazing organisations that are using it to improve our world - http://civicrm.org/contribute

joanne

  • Administrator
  • Ask me questions
  • *****
  • Posts: 852
  • Karma: 83
  • CiviCRM version: 4.4.16
  • CMS version: Drupal 7
Re: What developer documentation is still relevant?
October 22, 2013, 04:35:41 am
Looking at the book and at the wiki it seems that the at the moment the book has more introduction/overview and the wiki has more examples/recipes.

As non-techie who dreams of dabbling around the edges of developing, the book was very useful in providing an explanation of coding concepts such as hooks.  I realise that info can be found on the internet, but it helped to have the basics in the one place.  If you decide to just have a wiki then can I suggest that some of the book chapters be transferred to the wiki.  I am happy to do/help with that.

« Last Edit: October 22, 2013, 03:42:20 pm by jchester »

Michael McAndrew

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1274
  • Karma: 55
    • Third Sector Design
  • CiviCRM version: various
  • CMS version: Nearly always Drupal
  • MySQL version: 5.5
  • PHP version: 5.3
Re: What developer documentation is still relevant?
October 22, 2013, 07:43:01 am
Hey Joanne,

That would be a great thing to do - once you are happy we have all the developer stuff in the wiki, let me know and I will kill the book :)
Service providers: Grow your business, build your reputation and support CiviCRM. Become a partner today

Coleman Watts

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 2346
  • Karma: 183
  • CiviCRM version: The Bleeding Edge
  • CMS version: Various
Re: What developer documentation is still relevant?
October 22, 2013, 02:35:13 pm
Word of caution: use the unversioned space of the wiki (e.g. make sure version numbers are not in the url)
You should be at http://wiki.civicrm.org/confluence/display/CRMDOC/Develop
not */CRMDOC43/*
Try asking your question on the new CiviCRM help site.

joanne

  • Administrator
  • Ask me questions
  • *****
  • Posts: 852
  • Karma: 83
  • CiviCRM version: 4.4.16
  • CMS version: Drupal 7
Re: What developer documentation is still relevant?
October 22, 2013, 10:36:59 pm
Have started on this, but I have a couple of observations/queries.

1. I will be using the edited version of the book so that changes since it was last published in Sept 2012 will be included.

2. The structure I am proposing is:

Developer Overview
- new section consisting of the following chapters from the book:
  • Configuring, customising and extending ( Introduction without the first two paragraphs which go on the Developer Overview page)
  • Before you start
  • The developer community
  • The codebase

Developer Setup - a mixture of development environment from the book and developer setup from the documentation wiki as follows:
  • Basic set up (book) Unpublished revision referring to Github
  • Github for Civicrm (documentation wiki)
  • Debugging (book) - perhaps with the actual details about installing and linking xdebug removed because that should come in the last 3(?) pages of this section
  • Testing - some mix of both book and wiki
  • CiviCRM Dev Environment on Debian/Linux using ?, NetBeans, & ? (to be pulled together from existing instructions??)
  • CiviCRM Dev Environment on Mac OS X using MacPorts, NetBeans, & Webgrind (wiki)
  • ??? CiviCRM Dev Environment on Windows using ?, ?, & ?(Should this be included? - Does this even make sense? - Will it just be 'install in a virtual machine running Linux' or will there have to be extra dealing with things such as http://stackoverflow.com/questions/3144082/difference-between-msysgit-and-cygwin-git/3144417#3144417  This is not something I can "pull together"  Who can I ask about it?)

Developer Guides The existing wiki pages, but will check if any basic intro stuff should come across from the book.

Developer Reference The existing wiki pages, but as ehommel has made a lot of changes to the API section of the book I will check with him if all of that is also in the wiki.

3.  I will be looking for things in the book that I think are out-of-date (references to SVN for a start) but I am not a developer so I may have to ask for advice sometimes.  I am planning to change the text colour to orange for sentences I think may need updating and explain that in a note macro at the top of the page ( See http://wiki.civicrm.org/confluence/display/CRMDOC/The+codebase).  Michael, should you be my first contact?


Any comments and suggestions are welcome.


Erik Hommel

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1773
  • Karma: 59
    • EE-atWork
  • CiviCRM version: all sorts
  • CMS version: Drupal
  • MySQL version: Ubuntu's latest LTS version
  • PHP version: Ubuntu's latest LTS version
Re: What developer documentation is still relevant?
October 22, 2013, 11:40:01 pm
Hi guys,

I am in the process of updating the developer guide (book). If we are removing it please let me know if I should continue with this exercise or if I am better of putting parts of the book on the wiki as jchester is suggesting. And I totally agree that the basic concepts would need to be explained on the wiki if we do remove the book.
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

joanne

  • Administrator
  • Ask me questions
  • *****
  • Posts: 852
  • Karma: 83
  • CiviCRM version: 4.4.16
  • CMS version: Drupal 7
Re: What developer documentation is still relevant?
October 23, 2013, 12:51:57 am
I am happy to do whatever 'people' think is best.

I can keep transferring the book content to the wiki as outlined in Reply #9
OR
I can go through the book and leave the basics in it with references to the wiki for the how tos. ( Eg for the API chapte,r perhaps up to and including How to use the API would stay in the book and then the rest of the sections would consist of a few sentences with references/links to the wiki.)

Michael McAndrew

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1274
  • Karma: 55
    • Third Sector Design
  • CiviCRM version: various
  • CMS version: Nearly always Drupal
  • MySQL version: 5.5
  • PHP version: 5.3
Re: What developer documentation is still relevant?
October 23, 2013, 12:54:03 am
Hey there,

I guess the key thing is making sure that all people who are working on developer documentation are talking to each other, and that we ensure that things are kept up to date.  Although we got some momentum behind the developer guide when it was initially published, apart from Erik's valiant efforts on API stuff a fair amount of the rest of it is getting out of date.  Since Tim and Coleman have been doing good work on the wiki, it feels like we have got two separate places where developer documentation is happening and that is unecessary duplication of effort and it is probably time to consolidate.

To my mind, two key 'minus points' about developer documentation at the moment are lack of curation and the weird/bad versioning. I think we can solve both :)

Re: curation, although we are good at adding new content to the wiki, we aren't as good at consolidating it - we hope that bit will happen magically, but it doesn't and it gets messy - it's a bit like if you were to go to Wikipedia and find 6 different articles on London.  I think that curation is a bit of extra effort, but it is necessary to keep the wiki in good order.  I think the problem here is that we don't have any wikipedians like wikipedia, who feel like they know the documentation enough to make the call on when a page should be deleted / merged.  People come in and make edits, but don't feel like they have the authority to refactor other people's work. I think that is slowly changing and we should encourage it more. One thing we could do to improve that would be to ensure that there is a developer documentaion team who can do this / help out with this.  It feels like Erik, Joanne, Tim and Coleman would be good people for this team.  Are all you guys on http://lists.civicrm.org/lists/info/civicrm-docs ?

If we set up some guidelines along the lines of

* all documentation people should be on docs mailing list http://lists.civicrm.org/lists/info/civicrm-docs - it is very low volume (unfortunately :) )
* if you think that a refactoring could be controversial or you are unsure about whether to do it, discuss on docs@lists.civicrm.org.

Re: versioning the wiki, it seems to have introduced many more problems than it has solved, i.e. we are helping the minority who are developing on older versions at the expense of the majority who are developing on newer versions.

What needs to be versioned in the wiki? It seems like the version that a hook, api, or other technique was first available is important (fyi http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_xmlMenu has no version info but http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_emailProcessor does).  Installation instructions are specific to a version.  Potentially we can solve that by having a page for installation instructions for each version.

What else would we be loosing if we got rid of versions?
Service providers: Grow your business, build your reputation and support CiviCRM. Become a partner today

Erik Hommel

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1773
  • Karma: 59
    • EE-atWork
  • CiviCRM version: all sorts
  • CMS version: Drupal
  • MySQL version: Ubuntu's latest LTS version
  • PHP version: Ubuntu's latest LTS version
Re: What developer documentation is still relevant?
October 23, 2013, 01:24:50 am
I think we need to set our focus on getting the good stuff from the Developer Guide on the Wiki, and then remove the developer guide. Will make a start this afternoon on adding a Wiki chapter Developer Reference - using the API.
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

joanne

  • Administrator
  • Ask me questions
  • *****
  • Posts: 852
  • Karma: 83
  • CiviCRM version: 4.4.16
  • CMS version: Drupal 7
Re: What developer documentation is still relevant?
October 23, 2013, 03:05:44 am
1.  A conflict - from an unexpected source. 

There is a page called Debugging in the User and admin wiki http://wiki.civicrm.org/confluence/display/CRMDOC/Debugging

That meant I had to rename the debugging section from the developer book as debugging for developers http://wiki.civicrm.org/confluence/display/CRMDOC/Debugging+for+developers .

I have no problem with the rename, but am very doubtful about having a debugging page in the user and admin wiki.  I would have thought that almost by definition a User and Admin guide would deal only with things relevant to a production site which debugging isn't.


2.  A rewrite required?

With the switch to git and git hub it seems to a me that attaching a (diff file) patch has been replaced by submitting a pull request.  This would mean that much of http://book.civicrm.org/developer/current/introduction/fixing-bugs/ needs updating.

I am happy to have a go at it (based on my vast experience of PRs ;) ), but before I do so, is a PR the only way to supply bug fixes now or can people still attach patches to issues?

3.  The chapter on testing in the book and the  unit testing page in the wiki need to be reconciled.

To me it seems that the wiki page unit test  http://wiki.civicrm.org/confluence/display/CRMDOC/Unit+Tests/ should be renamed testing as it covers both unit tests and web tests.   However there is also a non-document wiki page called testing  http://wiki.civicrm.org/confluence/display/CRM/Testing  - will that be too confusing? 

Also, it seems to me that at least some of the document wiki links are for developers who work closely with the core team rather than your 'everyday' developer.  ( Eg "Results of test case you are assigned to" on http://wiki.civicrm.org/confluence/display/CRMDOC/Testing  and all of http://wiki.civicrm.org/confluence/display/CRM/Introduction+to+working+on+test+coverage)

What sort of testing is expected from an 'everyday' developer?  I think this section is beyond the limits of what I can usefully do without some very clear guidelines.
 





« Last Edit: October 23, 2013, 05:19:14 am by jchester »

Pages: [1] 2
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Discussion (deprecated) »
  • Documentation, Book and Training Resources (Moderator: Michał Mach) »
  • What developer documentation is still relevant?

This forum was archived on 2017-11-26.