Phorum 5 FAQ
============

Table of contents:

1. Why did you switch from number of replies to number of posts in the list?
2. Does Phorum have avatars or user rankings like (insert UBB clone)?
3. How do I install a module?
4. Why don't non-registered users have new indicators or any options?
5. Why doesn't the default template use {insert latest greatest W3C concept}?
6. You should do (insert your idea here) in the default template.
7. Can I install Phorum once and deploy it on multiple domains?
8. I need to embed Phorum in my page/application.
9. Why do you not use the 'global' keyword in your functions?
10. What are Sticky posts?
11. Can I post announcements?
12. Why do I always end up at the top of a page when using the back button?


1. Why did you switch from number of replies to number of posts in the list?
-------------------------------------------------------------------------------
    In short, the people writing the code liked it better.  You can modify
    your template by putting this line inside your list.tpl file.
	
       {MESSAGES->reply_count}

    Just put that in place of
		
       {MESSAGES->thread_count}

		
2. Does Phorum have avatars or user rankings like (insert UBB clone)?
-------------------------------------------------------------------------------

    Not by default. There are modules available to add this functionality.


3. How do I install a module?
-------------------------------------------------------------------------------

    That depends on your environment and how the module is packaged.
    The basic requirement is that the module be inside a directory
    which is inside /mods (in the phorum directory). So you could have 
    something like /phorum5/mods/mymod

    Most mods come packaged in some form. For a .tar.gz file, in a Unix
    (Linux, etc) environment, you can simply download the file into your
    /phorum5/mods directory, and then use this command:

    tar -zxf downloaded_module.tar.gz

    In Windows, you can extract them using a program like Winzip. Make
    sure that the folders are also extracted (this is an optional feature
    in Winzip that should be on).

    You can also extract the file on your home computer and upoad them to the
    server using FTP. In that case you should just upload the entire module
    directory into /phorum5/mods


4. Why don't non-registered users have new indicators or any options?
-------------------------------------------------------------------------------

    Because of many cookie problems that plagued Phorum 3, we have decided
    to store all user settings in the database for Phorum 5.  The down side
    of this is that users must be registered to use these features.  The up
    side is that the new indicator really works like it should in Phorum 5.


5. Why doesn't the default template use {insert latest greatest W3C concept}?
-------------------------------------------------------------------------------

    While we do try and use standards, things like XHTML and CSS are not
    always compatible with old browsers.  Phorum strives to work with
    browsers that are commonly used.  We do not ignore new things. However,
    we try and be aware of the affect of things we do on all user's machines.
    Phorum will remain usable and decent on as many different platforms and
    browsers as we can make it out of the box.

    You might want to check the other templates available and see if there
    is a more futurisitic one there.  If not, perhaps you would like to
    contribute one for everyone.


6. You should do (insert your idea here) in the default template.
-------------------------------------------------------------------------------

    The only answer we will give you on this is that you can make your own
    template.  We have a reason for everything we do.  Does this mean we are
    not open to suggestion?  No.  It means there is a chance your suggestion
    has been made already and if we did not do it, there is a good reason.

    Second, if your idea has anything to do with the size of the HTML or
    bandwidth, don't even post unless you are using output compression.
    Output compression will decrease your bandwidth by leaps and bounds.
    Search the net for mod_gzip or look at the PHP manual for
    zlib.output_compression.  If you don't have that level of access to your
    server, you can use ob_start with obgzhandler to do the job.  Look in the
    PHP manual for the ob_start docs.

    Some suggestions we have turned down include:

    Why don't you have the CSS external - browsers do a bad job of caching
    CSS and compression utilities like zlib.output_compression can compress
    the CSS if it is in the PHP output itself.

    Your CSS names are way too long.  You could use short abreviations like
    PLTR - What the crap does PLTR mean?  You will see it in the code and
    have no idea what part of the output that is referencing.  Yes, we could
    put comments in the CSS with a long name, but that would not make the
    HTML clear.  Also, output compression will remove the multiple instances
    of the class name.  Perhaps most importantly, by having 'Phorum' in all
    our class names, we won't step on another applications classes.


7. Can I install Phorum once and deploy it on multiple domains?
-------------------------------------------------------------------------------

    Yes!  Once you install the Phorum code somewhere, you can copy the
    contents of the portable directory to another location.  Edit
    phorum_settings.php in the new location and point your browser to that
    copy of phorum_admin.php.  You will be taken through the install process.
    Be sure to choose unique values for table_prefix or choose different
    database names for each installation of the portable code.  A wrapped
    forum is a little slower because of the function overhead.


8. I need to embed Phorum in my page/application.
-------------------------------------------------------------------------------

    Well, using the portable code mentioned above, one can safely run Phorum
    inside other applications.  This is because the portable code runs Phorum
    inside a function, protecting the namespace of your variables and
    Phorum's variables.  Depending on your particular application, you may
    need to edit the function phorum_custom_get_url in include/wrapper.php to
    have the urls of your site be created by Phorum correctly.  Also, you
    will need to create a var called $PHORUM_CUSTOM_QUERY_STRING for Phorum
    to parse instead of the server's query string.  It will need to be
    formatted in the same way that the standard phorum_get_url would do it.


9. Why do you not use the 'global' keyword in your functions?
-------------------------------------------------------------------------------

    Declaring something as global in PHP is the same as making a reference
    to the $GLOBALS array.  References are not as fast as making a value copy
    according to the PHP developers.  It is only used in common.php to create
    the global existence of the $PHORUM variable.

    See: <http://marc.theaimsgroup.com/?l=php-dev&m=100955714924477&w=2>

    This applys to PHP4 only.  We may reconsider once PHP5 is widespread.


10. What are Sticky posts?
-------------------------------------------------------------------------------

    Sticky posts stay at the top of the forum they are posted in and do not
    get bumped down as new topics are posted.


11. Can I post announcements?
-------------------------------------------------------------------------------

    For announcements, create a forum in which you will post announcement
    messages. Setup the permissions, so only the users who are allowed to
    create new announcements can post to this forum.

    After this, enable the Announcements module and edit the settings
    for that module. In the settings, point the module at the new
    announcement forum.


12. Why do I always end up at the top of a page when using the back button?
-------------------------------------------------------------------------------

    Your PHP setup is probably sending headers along with the reply, telling
    the browser to not cache the page. Therefore, when going to the previous
    page, it will be reloaded as if it were a new page. You can tweak the
    PHP settings to not have PHP sending these headers. Edit the php.ini and
    set the "session.cache_limiter" directive to have no value at all. So
    the line in php.ini would end up like this:

    session.cache_limiter =

    After editing the php.ini, restart the webserver. From then on, using
    the back button should work like expected.

