I will answer your questions #1 and #2. (I'm not sure what you mean by #3. If #3 is sufficiently unrelated to #1 and #2, I would suggest creating a separate question for it)
Why an ER (Entity Relationship) diagram might not be helpful
As a visual learner, I too looked for an ER diagram when first trying to understand the CiviCRM database schema. I was ...
Drush can read parameters from standard input in JSON format if you supply the argument --in=json. This is what we need for API chaining, because chaining uses nested parameters, and in contrast to a flat list of command line arguments (the default way to pass parameters to drush cvapi, JSON can handle nesting. So to retrieve the email addresses for contact ...
We're in a bit of a transition phase at the moment with the tools we use for writing documentation.
The authoritative user and admin guide is here: https://github.com/civicrm/civicrm-user-guide.
fork the repository (you'll need a github account to do that)
make the edit directly on your fork of the repository
submit a pull request back to the original ...
Thanks for your interest in CiviCRM.
As Peter says, a good place to start is to read the documentation. I would also suggest that you look at the CiviCRM website if you haven't already done so.
To answer your specific questions:
Anyone can implement a CiviCRM system. The software is open source and feely available to download. However, it does require ...
Looks like PDF isn't available, but a downloadable copy of those docs in Markdown format is available from the Github repository linked in the top right of http://docs.civicrm.org ("Edit in Github").
github.com/civicrm/civicrm-user-guide => Download ZIP
This (zipped) download is in a quite readable format, even in a plain text editor. Which tool you view ...
You are correct that latest.civicrm.org/versions.json is the canonical source for CiviCRM version information.
The file is quite new and the release-publishing script has not yet been updated to write to it (an issue has been filed for this), so at the moment it must be updated by hand.
I agree that the file should be under version control.
If anyone is ...
2) You can use a tool like SchemaSpy to extract the structure of the database, have the foreign key displayed in a table or on a schema and navigate easily between related tables.
You can see an example (and use) of SchemaSpy doc generated for CiviCRM 4.7 https://doc.symbiotic.coop/dev/civicrm/v47/schema/index.html
EDIT: For those interested, there is a ...
Is there somewhere in the docs where it says to go to https://github.com/civicrm/civicrm-core/releases because that isn't the right place to download and all you get from there is core, not the wordpress parts, so if it says that it should get changed.
You need to download from https://civicrm.org/download and if you need an older release you can go to ...
What follows are steps to download and view the User Guide offline using the MkDocs software.
Caveats: this solution (a) requires some technical skill to set up, and (b) still requires a web browser to read (though not an Internet connection).
Install pip (python package manager)
OS X: brew install python
Debian/Ubuntu: sudo apt-get install python-pip ...
CiviCRM does not have a "Known Issues" report per se, and I do not believe I have ever seen such a section in the announcement of a new release. What it has is JIRA (issues.civicrm.org), which provides many tools for tracking problems great and small.
This is where you report and track specific bugs; for example, CRM-17968 scheduled emails not processed is ...
You would be advised to read the CiviCRM User and Administrator Guide at https://docs.civicrm.org/user/en/stable/ This book is freely available to read online. It is collaboratively written by the CiviCRM community.
There have been no significant changes or modifications to the shopping cart functionality in CiviEvent. You might want to give it a shot and see if it does work for you and/or meets your needs.
I suspect that code needs some love and care and might require some developer skills to fix and improve. There is no maintainer for that part of the civievent code ...
It seems to me that the most likely scenario for adding/tagging attachments is in the creation of activities - I tested adding a tag for attachments in the demo site, and when I created a meeting activity and opened up the attachment section, the tag field was there: http://screencast.com/t/fNc98uR6Uq
What puzzles me, however, is that there is ...
You can report infrastructure-related bugs on the "Infrastructure" project of JIRA (https://issues.civicrm.org/jira/browse/INFRA/).
I opened an issue for this: https://issues.civicrm.org/jira/browse/INFRA-175
If you experience this problem when trying to view the documentation it may be that your browser is either Chrome or Firefox and that you have previously visited the same page prior to 22 March 2016 (or for Firefox perhaps just visiting the main site https://civicrm.org could be enough).
The gitbook link now redirects to http://docs.civicrm.org/user/en/4.6 (...
If you are after civicrm documentation the address is book.civicrm.org (ie no "s" on book). That takes you to a page which directs you to various documentation.
(If you are looking for the user and admin guide for v 4.6 you can go directly to gitbook.civicrm.org.
Did you find that URL somewhere on the civicrm site? If so, please let me know where it was ...
We strongly discourage interacting directly with tables and fields in the database. Instead it is much safer to access data via the API, which has a convenient explorer.
For those doing core work, and sometimes for extension developers who wish to extend functionality, an ERD is a useful idea. I don't think we have created a set recently due to the ...
If you are trying to get a different version of the wordpress download you can just swap in the relevant version number in the url
for example -> https://download.civicrm.org/civicrm-5.17.0-wordpress.zip
It depends on the job.
Import jobs (Contacts, Contributions...) work by having one long-running POST request, and then your browser polls for updates on progress.
This means your browser/server/interenet connection need to be able to cope with the time that POST request requires. Whether a job completes after apparently timing out depends on how PHP is set ...
The triggers have a DEFINER that needs to exist and have the right permissions so if the db user is different you might run into some problems there. If by "full" you mean you are also restoring the system mysql.user table that might be ok but that might cause other problems with the hosting provider control panel depending how they are set up.
Change the appropriate file(s) under xml/schema so the tarballs are created properly.
The data insert statements for the tarballs go in https://github.com/civicrm/civicrm-core/blob/master/xml/templates/civicrm_data.tpl as you mention.
Create, or more likely edit, appropriately named file for version you are targeting PR to go into under https://github.com/...
I'm not sure how you can get a download version of the Admin Guide other than to Copy and Paste.
On the CiviCRM Documentation wiki page at https://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+Documentation, in the bottom left hand corner, there is reference to some CiviCRM books that are available for purchase. I believe that if you use a discount ...
This is not an answer to your question, but were I to post it as a comment the whole thing would be on one line/unreadable. It seems to me that the most desirable format is:
'is_error' => 0,
'version' => 3,
'count' => 1,
'id' => 3,
'values' => [
'contact_id' => '3',
'groups' => array(4, 7),
'id' => ...
That field is defined at https://github.com/civicrm/civicrm-core/blob/master/xml/schema/Core/Address.xml#L92. It is run through GenCode.php to create the definition of the field and table used in the database installation. This also creates the definition in DAO file (CRM/Core/DAO/Address.php):
'street_address' => array(
'name' => '...
These are defined in MySQL. Adjusting the length of those tables should cover this.
With some data entry, making the changes through the interface can increase the length of the tables in the system.