dhtmlxGantt library is now a requirement to download

This commit is contained in:
Manuel Cillero 2017-08-15 20:27:06 +02:00
parent 60800b44e4
commit d5d9ea0ac3
160 changed files with 220 additions and 27248 deletions

View file

@ -8,18 +8,16 @@ Contents of this file:
* Drupal administration
* Customizing your theme(s)
* Multisite Configuration
* More Information
* Copyright notices
REQUIREMENTS
------------
**SuiteDesk** began long time ago as a Drupal 6 project, and now continues as a
standalone open software product. It requires:
standalone opensource product. It requires:
* A web server (Apache web server with mode_rewrite module and the ability to
use local .htaccess files is recommended),
use local `.htaccess` files is recommended),
* PHP 5 (better with version 5.4.45), and
* MySQL (4.1.1 or greater).
@ -29,7 +27,7 @@ See http://www.php.net and http://www.mysql.com for more information.
INSTALLATION
------------
### 1. DOWNLOAD SUITEDESK
### 1. Download SuiteDesk
You can obtain the latest **SuiteDesk** release from:
@ -47,7 +45,7 @@ your web server's document root or your public HTML directory:
mv suitedesk-version/* suitedesk-version/.htaccess /var/www/html
### 2. DOWNLOAD PDF TOOL
### 2. Download PDF tool
The print PDF module requires the use of an external PDF generation tool. The
currently supported is *wkhtmltopdf*. To install follow the next steps:
@ -61,7 +59,44 @@ currently supported is *wkhtmltopdf*. To install follow the next steps:
also place a symbolic link to the executable.
3. Check https://wkhtmltopdf.org/usage/wkhtmltopdf.txt for further information.
### 3. CREATE THE CONFIGURATION FILE AND GRANT WRITE PERMISSIONS
### 3. Download HTML Purifier library
Make sure you check *HTML Purifier* and make sure that you have fulfilled all of
its requirements before running this. Specifically, you'll need the PHP
extension `ctype` (in almost all PHP distributions), and it's nice to have `dom`
and `iconv`.
Download HTML Purifier from http://htmlpurifier.org. You will need 4.8.0 or
later. Extract the `library` folder to `libraries` directory. The final setup
should be:
libraries/htmlpurifier/
HTMLPurifier
HTMLPurifier.autoload.php
HTMLPurifier.auto.php
HTMLPurifier.func.php
HTMLPurifier.includes.php
HTMLPurifier.kses.php
HTMLPurifier.path.php
HTMLPurifier.php
HTMLPurifier.safe-includes.php
### 4. Download dhtmlxGantt library
Download dhtmlxGantt from https://dhtmlx.com/docs/products/dhtmlxGantt/. You
will need 3.2.0 or later. Extract the `codebase` folder and rename it to
`dhtmlxgantt` in the `libraries` directory. The final setup should be:
libraries/dhtmlxGantt/
connector
ext
locale
skins
sources
dhtmlxgantt.css
dhtmlxgantt.js
### 5. Create the configuration file and grant write permissions
**SuiteDesk** comes with a `default.settings.php` file in the `config/default`
directory. Use this file as a template to create your settings file. To avoid
@ -82,36 +117,7 @@ write privileges to the `config/default` directory with the command (from the
chmod o+w config/default
You can create more than one configuration file, and the configuration file to
be loaded is based upon the rules below.
The configuration directory will be discovered by stripping the website's
hostname from left to right and pathname from right to left. The first
configuration file found will be used and any others will be ignored. If no
other configuration file is found then the default configuration file at
`config/default` will be used. For example, for a fictitious site installed at
http://www.example.org/mysite/test the `settings.php` is searched in the
following directories:
1. config/www.example.org.mysite.test
2. config/example.org.mysite.test
3. config/org.mysite.test
4. config/www.example.org.mysite
5. config/example.org.mysite
6. config/org.mysite
7. config/www.example.org
8. config/example.org
9. config/org
10. config/default
If you are installing on a non-standard port number, prefix the hostname with
that number. For example, http://www.example.org:8080/mysite/test could be
loaded from `config/8080.www.drupal.org.mysite.test` directory.
### 4. CREATE THE SUITEDESK DATABASE
### 6. Create the SuiteDesk database
**SuiteDesk** requires access to a database in order to be installed. Your
database user will need sufficient privileges to run **SuiteDesk**.
@ -122,22 +128,22 @@ documentation or ask your webhost service provider.
Take note of the *username*, *password*, *database name* and *hostname* as you
create the database. You will enter these items in the next commands.
This step is only necessary if you don't already have a database set-up (e.g. by
your host). In the following examples, *username* is an example MySQL user which
has the CREATE and GRANT privileges. Use the appropriate user name for your
system.
This step is only necessary if you don't already have a database setup (e.g. by
your host). In the following examples, *useradmin* is an example MySQL user
which has the CREATE and GRANT privileges. Use the appropriate user name for
your system.
First, you must create a new database for your site (here, *databasename* is the
name of the new database):
mysqladmin -u username -p create databasename
mysqladmin -u useradmin -p create databasename
MySQL will prompt for the *username* database password and then create the
MySQL will prompt for the *useradmin* database password and then create the
initial database files. Next you must login and set the access database rights:
mysql -u username -p
mysql -u useradmin -p
Again, you will be asked for the *username* database password. At the MySQL
Again, you will be asked for the *useradmin* database password. At the MySQL
prompt, enter following command:
```sql
@ -148,9 +154,9 @@ prompt, enter following command:
where
*databasename* is the name of your database
*username@localhost* is the username of your MySQL account
*password* is the password required for that username
- *databasename* is the name of your database,
- *username@localhost* is the username of your MySQL account, and
- *password* is the password required for that username.
Note: Unless your database user has all of the privileges listed above, you will
not be able to run **SuiteDesk**.
@ -159,8 +165,8 @@ If successful, MySQL will reply with:
Query OK, 0 rows affected
In the configuration file you will fill out the `$db_url` variable to configure
the database connection using the format:
In the configuration file you will fill out the `$db_url` value to configure the
database connection using the format:
$db_url['default'] = 'mysql://username:password@localhost/databasename';
@ -192,135 +198,175 @@ the prefix for any tables not specified elsewhere in the array:
'authmap' => 'shared_',
);
### 5. RUN THE INSTALL SCRIPT
All data stored in database is in UTF-8. MySQL support different algorithms for
comparing, indexing, and sorting characters; a so called "collation". The
default collation of a database normally works for many use-cases, but depending
on the language(s) of the stored data, it may be necessary to use a different
collation in the `$db_collation` setting. Important:
To run the install script point your browser to the base URL of your website
(e.g., http://www.example.com).
- Only set or change this value before installing **SuiteDesk**, unless you
know what you are doing.
- All database tables and columns should be in the same collation. Otherwise,
string comparisons performed for table JOINs will be significantly slower.
- Especially when storing data in German or Russian on MySQL 5.1+, you want
to use the 'utf8_unicode_ci' collation instead.
- More information at http://drupal.org/node/772678
You will be guided through several screens to set up the database,
create tables, add the first user account and provide basic web
site settings.
### 7. Populate the database
The install script will attempt to create a files storage directory
in the default location at config/default/files (the location of the
files directory may be changed after Drupal is installed). In some
cases, you may need to create the directory and modify its permissions
manually. Use the following commands (from the installation directory)
to create the files directory and grant the web server write privileges to it:
Run the next command to setup the database, create tables, populate them, set
the first users accounts and provide basic web site settings. Remember, you will
be asked for the *username* database password defined in previous step:
mkdir config/default/files
chmod o+w config/default/files
mysql -u username -p databasename < config/populatedb.sql
The install script will attempt to write-protect the settings.php file and
the config/default directory after saving your configuration. However, you
may need to manually write-protect them using the commands (from the
installation directory):
Also you will need to create a files storage directory in the default location
at config/default/files (the location of the files directory may be changed
after Drupal is installed). In some cases, you may need to create the directory
and modify its permissions manually. Use the following commands (from the
installation directory) to create the files directory and grant the web server
write privileges to it:
chmod a-w config/default/settings.php
chmod a-w config/default
mkdir config/default/files
chmod o+w config/default/files
If you make manual changes to the file later, be sure to protect it again
after making your modifications. Failure to remove write permissions to that
file is a security risk. Although the default location for the settings.php
file is at config/default/settings.php, it may be in another location
if you use the multi-site setup, as explained below.
The install script will attempt to write-protect the settings.php file and the
config/default directory after saving your configuration. However, you may need
to manually write-protect them using the commands (from the installation
directory):
### 6. CONFIGURE SUITEDESK
chmod a-w config/default/settings.php
chmod a-w config/default
When the install script succeeds, you will be directed to the "Welcome"
page, and you will be logged in as the administrator already. Proceed with
the initial configuration steps suggested on the "Welcome" page.
If you make manual changes to the file later, be sure to protect it again after
making your modifications. Failure to remove write permissions to that file is a
security risk. Although the default location for the settings.php file is at
config/default/settings.php, it may be in another location if you use the
multi-site setup, as explained below.
If the default Drupal theme is not displaying properly and links on the page
result in "Page Not Found" errors, try manually setting the $base_url variable
in the settings.php file if not already set. It's currently known that servers
running FastCGI can run into problems if the $base_url variable is left
commented out (see http://bugs.php.net/bug.php?id=19656).
### 8. Review file system storage settings and file permissions
### 7. REVIEW FILE SYSTEM STORAGE SETTINGS AND FILE PERMISSIONS
The files directory created in previous step is the default file system path
used to store all uploaded files, as well as some temporary files created by
Drupal. After installation, the settings for the file system path may be
modified to store uploaded files in a different location.
The files directory created in step 4 is the default file system path used
to store all uploaded files, as well as some temporary files created by Drupal.
After installation, the settings for the file system path may be modified
to store uploaded files in a different location.
It is not necessary to modify this path, but you may wish to change it if:
It is not necessary to modify this path, but you may wish to change it if:
* your site runs multiple Drupal installations from a single codebase (modify
the file system path of each installation to a different directory so that
uploads do not overlap between installations); or,
* your site runs multiple Drupal installations from a single codebase
(modify the file system path of each installation to a different
directory so that uploads do not overlap between installations); or,
* your site runs a number of web server front-ends behind a load balancer or
reverse proxy (modify the file system path on each server to point to a
shared file repository).
* your site runs a number of web server front-ends behind a load
balancer or reverse proxy (modify the file system path on each
server to point to a shared file repository).
To modify the file system path:
To modify the file system path:
* Ensure that the new location for the path exists or create it if necessary.
To create a new directory named uploads, for example, use the following
command from a shell or system prompt (while in the installation directory):
* Ensure that the new location for the path exists or create it if
necessary. To create a new directory named uploads, for example,
use the following command from a shell or system prompt (while in
the installation directory):
mkdir uploads
mkdir uploads
* Ensure that the new location for the path is writable by the web server
process. To grant write permissions for a directory named uploads, you may
need to use the following command from a shell or system prompt (while in
the installation directory):
* Ensure that the new location for the path is writable by the web
server process. To grant write permissions for a directory named
uploads, you may need to use the following command from a shell
or system prompt (while in the installation directory):
chmod o+w uploads
chmod o+w uploads
* Access the file system path settings in Drupal by selecting these menu items
from the Navigation menu:
* Access the file system path settings in Drupal by selecting these
menu items from the Navigation menu:
Administer > Site configuration > File system
Administer > Site configuration > File system
Enter the path to the new location (e.g.: uploads) at the File System Path
prompt.
Enter the path to the new location (e.g.: uploads) at the File
System Path prompt.
Changing the file system path after files have been uploaded may cause
unexpected problems on an existing site. If you modify the file system path
on an existing site, remember to copy all files from the original location
to the new location.
Changing the file system path after files have been uploaded may cause
unexpected problems on an existing site. If you modify the file system path
on an existing site, remember to copy all files from the original location
to the new location.
Some administrators suggest making the documentation files non-readable so that
the exact version of **SuiteDesk** you are running is slightly more difficult to
determine. If you wish to implement this optional security measure, use the
following command from a shell or system prompt (while in the `config`
directory):
Some administrators suggest making the documentation files, especially
CHANGELOG.txt, non-readable so that the exact version of Drupal you are
running is slightly more difficult to determine. If you wish to implement
this optional security measure, use the following command from a shell or
system prompt (while in the installation directory):
chmod a-r CHANGELOG.md
chmod a-r CHANGELOG.txt
Note that the example only affects CHANGELOG.md. To completely hide all
documentation files from public view, repeat this command for each of the Drupal
documentation files in the `config` directory, substituting the name of each
file for CHANGELOG.md in the example.
Note that the example only affects CHANGELOG.txt. To completely hide
all documentation files from public view, repeat this command for each of
the Drupal documentation files in the installation directory, substituting the
name of each file for CHANGELOG.txt in the example.
### 9. Initial configuration and first access
For more information on setting file permissions, see "Modifying Linux, Unix,
and Mac file permissions" (http://drupal.org/node/202483) or "Modifying
Windows file permissions" (http://drupal.org/node/202491) in the online
handbook.
When the install script succeeds, you will be directed to the "Welcome" page,
and you will be logged in as the administrator already. Proceed with the initial
configuration steps suggested on the "Welcome" page.
### 8. CRON MAINTENANCE TASKS
If the default **SuiteDesk** theme is not displaying properly and links on the
page result in "Page Not Found" errors, try manually setting the `$base_url`
variable in the `settings.php` file if not already set. It's currently known
that servers running FastCGI can run into problems if the `$base_url` variable
is left commented out (see http://bugs.php.net/bug.php?id=19656). Examples:
Many Drupal modules have periodic tasks that must be triggered by a cron
maintenance task, including search module (to build and update the index
used for keyword searching), aggregator module (to retrieve feeds from other
sites), ping module (to notify other sites about new or updated content), and
system module (to perform routine maintenance and pruning on system tables).
To activate these tasks, call the cron page by visiting
http://www.example.com/cron.php, which, in turn, executes tasks on behalf
of installed modules.
$base_url = 'http://www.example.com';
$base_url = 'http://www.example.com:8888';
$base_url = 'http://www.example.com/drupal';
$base_url = 'https://www.example.com:8888/drupal';
Most systems support the crontab utility for scheduling tasks like this. The
following example crontab line will activate the cron tasks automatically on
the hour:
You might also want to force users to use a given domain. See the `.htaccess`
file for more information. Drupal automatically generates a unique session
cookie name for each site based on its full domain name. If you have multiple
domains pointing at the same site, you can either redirect them all to a single
domain (see comment in `.htaccess`), or uncomment the `$cookie_domain` and
specify their shared base domain. Doing so assures that users remain logged in
as they cross between your various domains.
0 * * * * wget -O - -q -t 1 http://www.example.com/cron.php
Also you can see in the `settings.php` file what PHP settings are possible,
including whether they can be set at runtime (i.e., when ini_set() occurs), read
the PHP documentation at http://www.php.net/manual/en/ini.php#ini.list and take
a look at the `.htaccess` file to see which non-runtime settings are used there.
Settings defined in the configuration file should not be duplicated there so as
to avoid conflict issues.
More information about cron maintenance tasks are available in the help pages
and in Drupal's online handbook at http://drupal.org/cron. Example scripts can
be found in the scripts/ directory.
If you encounter a situation where users post a large amount of text, and the
result is stripped out upon viewing but can still be edited, Drupal's output
filter may not have sufficient memory to process it. If you have this, you may
wish to uncomment the lines with PHP settings `pcre.*_limit` and increase their
limit values. See http://php.net/manual/en/pcre.configuration.php.
Finally, to override specific global settings for your site, set them in the
configuration file, including the reverse proxy if needed.
And that's all, you are ready to access to your site writting its URL in your
preferred and use one of the next pre-configured Drupal/**SuiteDesk** users:
* root, Drupal user to administer site (see Drupal Administration below),
* pmdemo, SuiteDesk user to use Project management features,
* clidemo, SuiteDesk user to use Customer features.
It's highly recommended to change the password of all these users before
delivery the site in production.
### 10. Cron Maintenance tasks
Many **SuiteDesk** modules have periodic tasks that must be triggered by a cron
maintenance task, including search module (to build and update the index used
for keyword searching) and system module (to perform routine maintenance and
pruning on system tables). To activate these tasks, call the cron page by
visiting http://www.example.com/cron.php, which, in turn, executes tasks on
behalf of installed modules.
Most systems support the crontab utility for scheduling tasks like this. The
following example crontab line will activate the cron tasks automatically on the
hour:
0 * * * * wget -O - -q -t 1 http://www.example.com/cron.php
DRUPAL ADMINISTRATION
@ -358,77 +404,40 @@ http://drupal.org/handbook/customization to find out more.
MULTISITE CONFIGURATION
-----------------------
A single Drupal installation can host several Drupal-powered sites, each with
its own individual configuration.
A single **SuiteDesk** installation can host several Drupal-powered sites, each
with its own individual configuration.
Additional site configurations are created in subdirectories within the 'config'
directory. Each subdirectory must have a 'settings.php' file which specifies the
Additional site configurations are created in subdirectories within the `config`
directory. Each subdirectory must have a `settings.php` file which specifies the
configuration settings. The easiest way to create additional sites is to copy
the 'default' directory and modify the 'settings.php' file as appropriate. The
new directory name is constructed from the site's URL. The configuration for
www.example.com could be in 'config/example.com/settings.php' (note that 'www.'
should be omitted if users can access your site at http://example.com/).
the `default` directory and modify the `settings.php` file as appropriate. The
configuration file to be loaded is based upon the rules below.
Sites do not have to have a different domain. You can also use subdomains and
subdirectories for Drupal sites. For example, example.com, sub.example.com,
and sub.example.com/site3 can all be defined as independent Drupal sites. The
setup for a configuration such as this would look like the following:
The configuration directory will be discovered by stripping the website's
hostname from left to right and pathname from right to left. The first
configuration file found will be used and any others will be ignored. If no
other configuration file is found then the default configuration file at
`config/default` will be used. For example, for a fictitious site installed at
http://www.example.org/mysite/test the `settings.php` is searched in the
following directories:
config/default/settings.php
config/example.com/settings.php
config/sub.example.com/settings.php
config/sub.example.com.site3/settings.php
1. config/www.example.org.mysite.test
2. config/example.org.mysite.test
3. config/org.mysite.test
When searching for a site configuration (for example www.sub.example.com/site3),
Drupal will search for configuration files in the following order, using the
first configuration it finds:
4. config/www.example.org.mysite
5. config/example.org.mysite
6. config/org.mysite
config/www.sub.example.com.site3/settings.php
config/sub.example.com.site3/settings.php
config/example.com.site3/settings.php
config/www.sub.example.com/settings.php
config/sub.example.com/settings.php
config/example.com/settings.php
config/default/settings.php
7. config/www.example.org
8. config/example.org
9. config/org
If you are installing on a non-standard port, the port number is treated as the
deepest subdomain. For example: http://www.example.com:8080/ could be loaded
from config/8080.www.example.com/. The port number will be removed according to
the pattern above if no port-specific configuration is found, just like a real
subdomain.
10. config/default
Each site configuration can have its own site-specific modules and themes in
addition to those installed in the standard 'modules' and 'themes' directories.
To use site-specific modules or themes, simply create a 'modules' or 'themes'
directory within the site configuration directory. For example, if
sub.example.com has a custom theme and a custom module that should not be
accessible to other sites, the setup would look like this:
If you are installing on a non-standard port number, prefix the hostname with
that number. For example, http://www.example.org:8080/mysite/test could be
loaded from `config/8080.www.example.org.mysite.test` directory.
config/sub.example.com/:
settings.php
themes/custom_theme
modules/custom_module
NOTE: for more information about multiple virtual hosts or the configuration
settings, consult the Drupal handbook at drupal.org.
For more information on configuring Drupal's file system path in a multi-site
configuration, see step 6 above.
MORE INFORMATION
----------------
- For additional documentation, see the online Drupal handbook at
http://drupal.org/handbook.
- For a list of security announcements, see the "Security announcements" page
at http://drupal.org/security (available as an RSS feed). This page also
describes how to subscribe to these announcements via e-mail.
- For information about the Drupal security process, or to find out how to report
a potential security issue to the Drupal security team, see the "Security team"
page at http://drupal.org/security-team.
- For information about the wide range of available support options, see the
"Support" page at http://drupal.org/support.
For more information on configuring the file system path in a multi-site
configuration, see step 7 above.