OSI-Certified logo

Frecuently Asked Questions about the
Content Management module for Phprojekt.

Question. Answer.

Will the CMS module support the WebDAV extension for Phprojekt?

The WebDAV extension for Phprojekt allow to upload, copy, rename and move of files in the filemanager store of Phprojekt, using any WebDAV client (like Windows Explorer), overcoming several of the limitations of Web-based file management.
However, the extension, as is written, only can operate in the filemanager files of Phprojekt. It cannot interact with the CMS files. To support the CMS a new WebDAV extension would be needed. It will probably be written after the 0.6.0 release.

I can download the CMS content files overriding the groups access security. Can I have the CMS root directory out of the web path? Can I disable the direct access to the CMS files?

If the web path to Phprojekt is www.mydomain.com/phprojekt (for example), and you configure the CMS module using the default options, some user can load the URL www.mydomain.com/phprojekt/cms/root/somedir/otherdir/ (for example) and load the files in the somedir/otherdir/ directory overriding the security of the CMS module.
Note that the user should already know the name of the root directory, the path to the file and the filename (this last item if browsing is disabled for directories in your webserver).
If you want to store the CMS content in a directory out of the web server path (not accesible except from the CMS module) set this as relative to the CMS code directory (for example ../../../cmsroot)." The path entered in the configuration form should be relative to the CMS directory from the real directory structure (not the web server view). For example, if you have the CMS in /home/BASE-web/phprojekt/cm (mapped to /phprojekt/cm in the web server), and the root directory is in /mnt/hd/root, the relative path you should enter in the CMS configuration form is: ../../../../mnt/hd/root.
Since version 0.6.0 you could create the CMS root content directory out of the web server path. (The documentation stated previously that this can be done since version 0.4.x, but this is not true; there was a bug that prevented this from working properly, this was fixed in 0.6.0).
Also, this may or may not work if safe-mode is enabled in PHP, if the web server is in a chroot jail, in servers configured for hosting service or other uncommon configurations.

Does the CMS module work with Phprojekt version 4?

Yes. You need to use the CMS module version 0.5.1 or higher. And follow the instructions in the readme.txt file (or the Install page).

I want the MS Office documents to open inside the browser.

Edit the cm/cm_mimetypes.inc.php script file, near the end of the file there are the definitions for Word, Excel, PowerPoint and Project files; just uncomment them. That will instruct the browser to download the MS Office files inline. (However, note that this is a suggestion given to the browser, what the browser finally do depends on the browser configuration).

All I get is a blank/empty page.

If this happens when loading the CMS main page directly (pointing your browser to phprojekturl/cm/index.php) then, most probably there is an error in the code of the CMS module, but it is not being displayed because error reporting is disabled (in Phprojekt or in the CMS module or both). To enable error reporting for all Phprojekt edit the index.php (from the main phprojekt directory) file and in line 19 change error reporting from 0 to E_ALL & ~E_NOTICE:

error_reporting(E_ALL & ~E_NOTICE);

Also, edit lib/lib.inc.php and comment out the lines 53 and 54 (adding two slashes // at the beginning of each line):

//if (!isset($error_reporting_level)... //else { error_reporting( E_ALL & ~E_NOTICE); }

To enable error reporting for the CMS module code edit the cm/cm_lib.inc.php file and uncomment line 9 (in version 0.5.0) or around line 62 (in version 0.4.8). (Note that since version 0.6.0, the CMS module has error reporting enabled by default):

error_reporting(E_ALL & ~E_NOTICE);

This will show you the error messages (if any) and can give you a good idea of what is going wrong.

If this happens when loading the CMS using the Phprojekt menu only (but shows normally when loading directly) then, most probably there is an error in the integration code you wrote in the Phprojekt index.php file In this case, check that the modifications you did in index.php and lib/show_modules.inc.php were done correctly.

Fatal error: Call to undefined function: array_key_exists().

The function array_key_exists() is available since PHP version 4.1.0. The CMS module requires PHP 4.1.x or higher. This error is displayed if you are using an older version of PHP. The only fix is to upgrade to PHP 4.1.x.

The permission/restriction matrix editor is displayed without text strings.

This has been fixed since version 0.5.0. This happens in version 0.4.8 if PHP is configured in your server with the option short_open_tag set to Off.

Some/all characters of my alphabet are displayed wrong. This only happens with the CMS module, other Phprojekt modules are Ok.

This has been fixed since version 0.5.0. This is a known bug. Affected languages are: Polish, Czech, Hungarian, Slovenian, Russian, Taiwanese and Chinese.
Note, however, that currently you cannot mix different alphabets. If your content is in Chinese (for example) the users must use Phprojekt with the Chinese language set. This is because the charset is set per user, not per content. In a future version of the CMS module you will be able to adjust the charset per page or maybe all content will be converted to UTF8.

I'm getting errors about a grup_user or gruppen database table.

Probably you have installed Phprojekt without User Groups. Previous versions of the CMS module (<0.4.8) cannot be used with groupless setups.

Can I use the CMS module without user groups?

Of course. You need to install a version greater than 0.4.8. Previous versions of the CMS module (<0.4.8) cannot be used with groupless setups.

I upgraded to 0.4.7 and now the links in the pages don't work, they have a comma at the end.

This is a bug introduced in 0.4.7 and it was fixed since version Please upgrade to a newer version of the module. If you don't want to upgrade or can't upgrade, please download the quick fix:
FIX_0.4.7.1-cm_lib.gz or
unpack, rename the file to cm/cm_lib.inc.php and overwrite the old cm_lib.inc.php in your CMS directory.

After running the setup routine, I cannot change anything. The message is You cannot change the configuration. Only the set user can change the settings or You cannot create the tables. Only the set user can create the database tables.

This is a very common issue. You have been locked out from the setup scripts because you defined a superuser different than you, effectively leaving yourself without permissions to continue the setup process.
When login in to run the setup page, login as the user who will have administrative privileges in the CMS module. Usually that will be the user root, but you can define anyone.
When entering the user short name in the setup page, please note that the short name of the root user is not root but root1 (this is true for recent versions of Phprojekt).
If you are not sure, please browse the Phprojekt database with your SQL manager, open the users table and check the kurz field.
If you are locked out and can't run the setup page, just edit the generated cm/cm_config.inc.php file and change the $cm_superuser definition.

Error message: You have an error in your SQL syntax near 'upper(cmdb_title)' at line 1.

This happens when the SQL server cannot use a function in the ORDER BY portion of a SQL sentence. Usually this error means you are using mySQL 3.23.2 or older. That version is quite old, but maybe in your facility is still being used.
You have two options: Update mySQL or edit the CMS code.
Both can be a hassle for you. I suggest upgrading mySQL. However, maybe editing the CMS code looks easier to you. If you edit the CMS code, the files to edit are: edit.php, create.php, display.php, cm_navigation.inc.php, getfile.php and print.php. Just change all lines "ORDER BY UPPER(fieldname)" to "ORDER BY fieldname". Your listings won't be ordered in a case-insensitive way, however that is a minimal problem.

All generated images (thumbnails and stats graphs) are shown as broken picture links, what is the problem?

Probably you are using a PHP setup without the GD library, or you have the GD library 1.8 support but have configured the CMS module to use the TrueColor functions. You can go to the CMS setup page, set the use truecolor jpeg images (GD 2.0) to 0 and check again the generated images (note that to regenerate the albums you must delete the thumbnails with the upload function). In versions of the CMS module before 0.4.7, the GD 1.8 support was not well tested. Since version the support for GD 1.8 is complete.
If you want to be sure if this is the problem, Try this to diagnose: edit the cm/cm_lib.inc.php file and uncomment the error_reporting line (should be near the beginning of the file). Then rebuild an album. If you get warnings messages about missing imagecreatetruecolor and imagecopyresampled, then you are surely using an old GD library. If you get errors about other graphics function too, then you don't have GD support compiled in PHP (most distributions of PHP, for Linux and Windows, has GD support by default).

I have the GD library 1.8, not the 2.0, can I use the CMS module anyway?

Of course. In versions of the CMS module before 0.4.7, the GD 1.8 support was not well tested. From version 0.4.7 the support for GD 1.8 is complete. Go to the CMS setup page, set the use truecolor jpeg images (GD 2.0) to 0 and you are done.

I don't have PHP with the GD library support compiled in, can I use the CMS module anyway?

Of course. In versions of the CMS module before 0.4.8, you were required to have the GD library. In recent versions, the GD library is optional. Go to the CMS setup page, set the Enable the use of the graphic functions from the GD library to 0 and you are done. Just note that the automatic generation of images (in the stats page and in autoalbums) will be disabled.

How do I remove/add syndicated news boxes to the main page of the CMS module?

In versions before 0.6.0: Edit the cm/display.php file. Go to the bottom of the file and look for the fcm_storerdf and fcm_display_rdfbox function calls. Those functions are for downloading and displaying of the syndicated news boxes. If you don't want them, just comment them out (with // characters). If you want to add one just modify one of the examples.
Since version 0.6.0: login as the superuser, go to the administrative console page and select the Syndication Newsfeeds Manager, there you can configure the newsfeeds (urls, names, ttls, etc).

Where can I find more syndicated news sources?

Visit the following sites:

When I use the syndicated news boxes every 12 hours the main page takes several second or minutes to load. What's going on?

In versions before 0.6.0: The syndicated news have to be downloaded from time to time. The time-to-live of every news set is defined in the fcm_storerdf function call in the cm/display.php file. By default (in the active examples) the news are downloaded every 900 minutes (15 hours). If your link to Internet is slow, then the downloading of the newsfeeds may take several seconds, and the main page of the CMS will hang for few seconds too.
If this is a big problem, you should force the downloading of the newsfeeds before they expire. There is one file named cm/dlsynd.php that contains several fcm_storerdf calls. That file is to be used by a Cron job (in Linux/Unix) or Task Scheduler (in Windows) to download the news periodically.
Since version 0.6.0: Now is easier to set the TTL for each newsfeed. If you want to minimize the delay, just set different TTLs for each newsfeed, so the delay will be short for a given user. Since this version, also there is a cm/dlsynd.php script file that will download the active newsfeeds even if their TTL has not expired. That file is to be used by a Cron job (in Linux/Unix) or Task Scheduler (in Windows) to download the news periodically. Please note that since this version you don't have to edit the cm/dlsynd.php file.

How can I use both the CMS module and the phprojekt-theme v0.1 (available from http://zoy.org/~lolo/phprojekt/)?

This only applies to the CMS module 0.4.8 and lower. Phprojekt-theme introduces major changes to index.php and layout/o.php, so it's not very easy to integrate it with the CMS module (which also require changes there). However, you can try the next steps to integrate both:
1.- Unpack the phprojekt-theme 0.1 as usual.
2.- Unpack the CM module.
3.- Edit the index.php file as described for the CMS module (the number lines would be 77 and 185).
4.- Edit the layout/o.php file as described for the CMS module (the number line would be 77).
5.- Edit the cm/cm_lib.inc.php file. Near the begining of the file change the lines:

$cm_nav_pre1="<tr border=3>"; $cm_nav_pre2="<tr>"; $cm_nav_post1="</tr>"; $cm_nav_post2="</tr>";

6.- Edit the cm/cm_mainindex.inc.php file. Change the two frameset definitions to:

echo "<frameset cols='70,*' border=1 frameborder=0 framespacing=1>";

7.- You are done. Follow the rest of the CMS module setup as usual.
Please note that this don't add a graphic to the left navigation, only the text. If you want a graphic, edit the cm/cm_navigation.inc.php and change the occurrences of {$cm_text["root"]} to the path of the graphic you want.

Internet Explorer keep hanging when displaying the CMS module pages, mostly with pages with lot of graphics.

Internet Explorer for Windows cannot use the alpha transparency of PNG images (not index transparency). Internet Explorer for Mac doesn't have this problem. For detailed information check at libpng.org. Also read these KB docs by Microsoft: MSKB265221 and MSKB294714.
To overcome this unfortunate limitation, a DOM behavior is included, modified from the original one written by Erik Arvidsson at WebFX. The included pngbehavior.htc file is a simplified version, applied thru the CSS sheet. However, for some reason to be determined, IE sometimes hangs. Because of the functions this behavior invokes, the problem could be in IE or in the DirectX library (Yes, some DirectX functions are called by IE). If you are having this problem you can always disable the PNG behavior by editing the cm/cm-style.css file and changing the entry from .pngimg to something else (like .xpngimg). However this will disable the alpha transparency of all icons in the CMS module.

Why not use GIF images for the icons? Why PNG images?

The easy answer is, because the icons are already available in PNG format. They are from the Gnome and KDE projects, and are always in PNG. Also because the old patent issue with GIF images, which don't affect the CMS module in anyway, but it's a Free Software principle.

Why are not the AquaFusion or IcOsX icon sets included with the CMS module?

Since version, the CMS module already includes selected icons from the AquaFusion set. The authors of the AquaFusion set has clarified in the last release that the AquaFusion SDL license is compatible with the GPL.
About IcOsX: its license is not compatible with the GPL.
Note: support for IcOsX has been removed since version 0.6.0.

Where can I download the AquaFusion or IcOsX icon sets?

AquaFusion 0.4.
IcOsX 0.7.
Note: support for IcOsX has been removed since version 0.6.0.

Where can I download the full Gnome icon set?

From Jimmac's HideOut or from Art Gnome.

I have/found/created a great icon set. How do I use it with the CMS module?

First, select the images you want to use. To get an idea, go to the cm/layout/cm_gnome (or any other skin directory) and open the cm_images.inc.php and cm_filetypes.inc.php files. The first file contains an array with the definitions of the icons from each iconset, mostly navigation and dialog icons. The second file contains an array with the definitions for images used in file listings, mostly file types.
Currently, the size of the images for each section is defined during the setup of the CMS module. The defaults are as follow: control images=16x16, dialog messages=48x48, emoticons=16x16, directory listing=16x16 (older version are 24x24), file icons=36x36, console icons=32x32. Of course you can use images that are not exactly of these dimensions.
After you have selected your icons, create a new directory under cm/layout/ with a distinctive name, copy your files there, create your own cm_images.inc.php and cm_filetypes.inc.php files, and then open the CMS setup page. In the What CMS skin to use if a Phprojekt skin is not selected or is not available select your icon set from the list. You are done.
Please note that the CMS will try to use the same skin used by Phprojekt, if it is available. You can force the user skin from the setup page (with the option Force CMS skin even if Phprojekt skin is different).
If you are the author of the iconset and you are releasing it under a GPL-compatible license and you want to it to be included with the CMS module, send an email to the author and your iconset will be included.

My language is not included in the CMS module, but it is included with Phprojekt.

The language strings are not shared between Phprojekt and the CMS module. By default only Spanish, English, Dutch, German, French, Catalan and Brazilian Portuguese translations are included. Of course you are welcome to contribute with a translation in your own language.

I want to contribute with a translation in my native language. What do I have to do?

Get the latest CMS module release, unpack it, copy the cm/lang/en.inc.php file, and use your favorite text editor to change all strings from English to your language. Then send the file by email with your name and email address in the file. Also, you can check the cm/doc/en.edithelp.php to edit the markup help page.

The restriction/permissions table seems so complex, give me a hint.

Think of 3 things: the user role/status, the actions a user can do and the object affected by those actions. The current implementation recognizes these roles:
Superuser, Administrator, Administrator of the viewer group, Normal user of the viewer group, Owner, None.
The current implementation recognizes these actions:
Create, Delete, Change, Display, Post comment/rate content.
The current implementation recognizes these objects:
Root directory, Any other directory.
Login as the superuser and go to the cm/editsec.php page; that is the permission/restriction matrix editor. The form is divided in two sections, one regarding the root directory and the other about any other directory. That form contains all the combinations of Roles/status, Actions and Objects. You can read the form as follow:
In the Z directory, if the user is Y then the user can/cannot do X.
Now, what happens when the user has more than one role/status? The weight or importance of a role is as follow: superuser > owner > admin and in viewer group > in viewer group > admin. So, the most important role is being superuser and their positive permissions take precedence over any other permissions. These weights are coded in the cm/cm_contraints.php file.
Please note that there are impossible combinations, they are shaded in red.

How much does the CMS module cost?

The CMS module is open source distributed under the GPL license. So it doesn't cost money.

I don't want my normal users to be able to create pages. I want the old behavior; only Administrators should edit pages.

If you are using a CMS module version 0.4.7.x do this: to return to the old permissions behavior, edit the cm/cm_constraints.inc.php file, commenting out from line 62 to line 111 (add a /* at the beginning of line 62 and add a */ at the end of line 111). Then uncomment from line 113 to 164 (deleting the /* and the */, respectively).
If you are using a CMS module version 0.4.8 or greater, load the setup page (setup.php), select the button Edit the restriction/permissions matrix and edit to disable all users permissions (excepting displaying and post-comments), and giving Admins all other permissions. (In versions 0.6.0 or greater, go to the administrative console page and select Edit Security Matrix).

Where do I send my bug reports or questions about the CMS module?

If you think you have found a bug, post a comment in the new web forum for bug reporting. This is an open forum, you are not required to register to read or post. Don't forget to specify the version of the CMS module being used, your SQL server brand and version, the platform (the operative system name and version) and the GD library version (in case your problem is graphic-related). Or, if you feel more comfortable, send an email to the author.

What is the future development roadmap for the CMS module?

Check the Future Features page to know about the future functions of the CMS module. Please note that the module depends heavily on Phprojekt, so, its development path is tied to the development path of Phprojekt.

I need a new feature not shown in the Future Features list, will you add it?

Features will be integrated according to their importance, how easily can be done, and how many people need it. So, post a comment with your suggestion in the new wishlist web forum. This is an open forum, you are not required to register to read or post. Or, if you feel more comfortable, send an email to the author.

Of course, if you are a developer or you have hired one who can write code to be integrated with the CMS module, you are welcome to send patches.

I need a new feature, but I want it now. / I need development services to customize the CMS module.

My first suggestion is, get a local PHP developer. You have the code. He/she has the skills. The CMS module code is already documented and surely this option will be the most cost-effective.

Optionally, you can contact the author to discuss a support and/or development service contract. Please note that if you need customization services for the core modules of Phprojekt (not the CMS module) you should contact the Phprojekt team.

I'm a developer/analyst/usability expert/translator and I think you can do something better in certain part of the code/architecture/design/usability/translation.

Your suggestions are always welcome. If you think something can be done in a better, faster, friendlier or more elegant way, please post a comment in the new general web forum. Don't hesitate to post your comments, no matter if they are about aesthetics, usability, architecture, programming, translation, etc. Or, if you feel more comfortable, send an email to the author.

I'm a developer doing a custom branch of the CMS module and have a question about the internals of the code or the application architecture.

First read the code, try to imagine the big picture. You have the skills. Also check the general use cases, the dataflow diagrams and the ER diagram of the CMS module available here in the /files/design directory (Visio format, also exported as PNGs pictures). Then, if you still have that question or are in doubt, please post a comment in the new general web forum. Or, if you feel more comfortable, send an email to the author. In any case I will be happy to answer your questions.

Optionally, if you need to do extensive customization and you are seeking dev-support and/or development service, you can contact the author to discuss a service contract. Please note that if you need customization services for the core modules of Phprojekt (not the CMS module) you should contact the Phprojekt team.

Can I use the CMS module without Phprojekt?

The current answer is no. Why? Because the CMS module was designed as a module, an add-on. It takes advantage of the Phprojekt functions. Currently, it cannot be separated easily. Maybe in a later release this option will be offered, but for now the answer is no.
But, if you are a developer, this is a hint: all database functions, user-related variables and the group information is from Phprojekt. If you can substitute them, you are done.

I can't upload files bigger than X megabytes. How can I change this?

This is a limit imposed by your PHP setup. By default PHP defines a limit of 2 to 8 Mb. You can change the PHP configuration in your php.ini file. Look for the upload_max_filesize and post_max_size variables, and change them to whatever you need.
Another source of problems is the configuration of the web server. For example, in Apache you could have a LimitRequestBody directive which is blocking your file uploads.

NA fum/lmd: 2004.10.01
Copyright ©1994-2019 by Mario A. Valdez-Ramírez.
no siga este enlace / do not follow this link