Larus Board

FAQ.EN $Id: saturas $Ver: 1.0.0
FAQ

Before using

What skills do I need to use LB?
In short: download a file, extract a ZIP, read the documentation, upload to your server and fill out a form with your database credentials. Additionally you have to know how to use a browser. But it seems you already do
What scope do these answers cover?
It provides useful information to the one who installs LB. Your users will have help messages according to their needs when they use it.

First steps

How do I get all privileges?
On setup your user account is assigned to the group Executive. This group is responsible for any technical administration of the forum. Members of the group Moderator have the job to moderate any postings that were submitted. If you want to have both privileges, you should go to My Profile after login with your user account and change your group to Super-User.
Sometimes I see content not being updated?
LB performs caching to store final pages after creation. This can be disabled in configuration, but is not recommended. It is used to reduce server load and make pages load faster in browser window. Some areas are refreshed regularly by time (one hour in common) and not when it should be refreshed.
  • Home: Most popular tags are rebuilt after one hour
  • Home: Topics by month are rebuilt by scheduled task every day
  • Topic View: Postings are cached for one year before being rebuilt
  • Topic View: The optional navigation bar is valid for one month and is *not* checked for consistency
  • Search: Results have an ID and are cached for thirty minutes
  • Moderation Panel: Complete page is refreshed every ten minutes
  • Executive Panel: Statistics are cached for thirty minutes and Pending Requests for ten minutes.
If nothing helps, you can delete files from your cache folder. They are automatically rebuilt. Do this by hand in your filesystem or log in with an user having privileges to access the Cache Manager - usually moderators or executives.
I submitted a posting, but it is not listed on Home?
Yes, this is indeed confusing when you have your first minutes with LB. Actually only public postings are listed on Home. Obviously not enlisted are hidden postings. They can be approved by moderators. Additionally postings may have access control rules. Only if these are empty, a posting will be included in the list. Any unlisted posting can still be found by searching for them or let them List as Request in Moderation or Executive Panel.
What means "created no calendar yet" on Home?
After some time all months will be listed since the first postings was submitted. One of the Scheduled Tasks takes care of it. By these links a quick search for any month is possible.
Sometimes I get old search results and/or wrong links to postings!
This is because search results are also cached. Every search request gets an unique ID by their parameters and atr stored with the Posting-IDs. Frequently issued search requests have not to be fully performed then. Of course this data becomes obsolete after a while and will be purged by a Scheduled Task. Therefore the current status of any individual posting cannot be taken care of as this would make caching senseless.

Using LB

How does Access Control work?
First of all, a ruleset is selected by the action an user wants to do. This can be seen in the addressbar of your browser. Usually there is a "lb_main.php?do=xxx..." and xxx is the action, in example "overview" or "acp_acl_list". Rules are assigned to that action and can allow or deny access. Consequently an user who is affected by a rule directly has preference against usergroup rules. You can see the effective permission of an user in their profile (requires executive permissions).
There are weird defaults in access control lists!
Well, some rules are set on purpose. Let us take the group Member for example. They are denied to login but allowed to logout. Registration is also denied. Again on Super-User which are supposed to have full access privileges. Logged in users really do not have to access that anymore - or should he be able to register or login again?
Have access control lists from Posting Prefix preference against its assigned posting?
Yes.
I see no image in Statistic on Log View?
We have two possibilities to display an image here. One is a so called vector image. Modern browser can display them without trouble, some however require a special plugin. If this fails a "normal" bitmap image is created, which requires "gd" as PHP extension. You can check its availablity by running the first installation step again.
How does the Check for Software Update work?
This link can be found on your Executive Overview. It looks for a new software version than you have installed. Currently this is very simple and not automatic. Only the required information is transferred to our server (a minimal HTTP GET request) and any comparison is done on your webserver. In the future this feature may be extended as long as our users wish that.
What does Imprint and Privacy Statement mean on the footer?
In your language folder you can create a "legal.txt". There you can write down your imprint (who manages the forum etc.) and privacy terms (what data you collect and using them). Please note that each country has their own interpretation of this. Some do not require it, others do as Germany. If you have any doubts, consult your local lawyer or ask in forums which cover such questions.
Do you have a list of supported formatting in posting messages?
Sure, we have. Like other forum software you can format the messages by using "bbcode". These are common on most software and we use the same syntax. Basically, you use "tags" telling the message parser to transform them. Some tags require a begin and an end tag, others do not. Please replace the round brackets with square brackets, when inserting the tags. We did not do it here, because the blog software will interpret them itself
  • (hr) - Makes a horizontal rule to split paragraphs
  • (b)...(/b) - Makes a text between the tags bold
  • (i)...(/i) - Makes a text between the tags in italics
  • (u)...(/u) - Makes a text between the tags underline
  • (s)...(/s) - Makes a text between the tags strikethrough
  • (quote)...(/quote) - Defines a quoted message
  • (ul)...(/ul) - Defines a listing (not "bbcode" compatible)
  • (li)...(/li) - Inserts an item into the listing (not "bbcode" compatible)
  • (notice)...(/notice) - Emphasizes a paragraph. Can only be used by moderators or executives (not "bbcode" compatible)
  • (url=xxx) - Includes an URI to external resource. Allowed schemes are "http,https,ftp,ftps".
  • (img=xxx) - Includes an external image. Scheme limitation applies here, too.
  • (embed=xxx) - The same as "img", but embeds the content. Useful on any content needing browser plugins (not "bbcode" compatible)
  • (mail=xxx) - Includes an e-mail address as "mailto" link
  • (link=xxx) - Links to a posting (numeric) or a local "anchor" (alphanumeric) in message (not "bbcode" compatible)
  • (anchor=xxx) - Sets a anchor to jump to like "" in HTML (not "bbcode" compatible)
  • (format=xxx)...(/format) - This tag can set multiple formatting arguments, some as key-value-pair. "xxx" is to be replaced by a string and multiple args must be separated by a comma. Pairs are assigned with "key:pair". Here we have an example: "b,s,color:#f00,inline" (not "bbcode" compatible)
    b - makes bold
    i - makes italics
    u - makes underline
    s - makes strikethrough
    inline - shows the element "inline" not as paragraph
    block - shows the element as block (default)
    left - put the block to the left
    right - put the block to the right
    color:xxx - Sets text color. Allowed are names or hexadecimal like "#f00"
    bgcolor:xxx - Sets the background color. Values are the same to "color"
    size:xxx - Sets font size. Allowed are any values used in css definition (em, px ,pt , % and so on)
    width:xxx - Sets the width of the block. Allowed are any values used in css definition (em, px ,pt , % and so on)
    class:xxx - Uses a predefined classification located in stylesheet. Must be alone and the prefix for css class is "xf_tp_usercss__".

Advanced

I changed a value in database but nothing happened?
Do you have enabled the forum caching settings (as they are by default) in Configuration? A lot of settings are copied to your local cache folder and used, if existing. You should delete the corresponding files from cache. The recent data from database will be fetched then.
What dies a Repair Install do?
It resets some settings to default values of a first installation. Including all access control lists of default usergroups, the entire configuration, all scheduled tasks, default usergroups and posting prefixes. Custom usergroups and their access control lists remain untouched. You will have to configure your forum again afterwards. It can be started like a normal installation as the software detects the repair request by itself.
How should I backup my forum database?
Please use tools your database vendor ships. Usually a restore tool is also provided. In case of MySQL you can use "mysqldump" or different methods on PostgreSQL. If you prefer webbased solutions or have no access to those tools on your server, you may give PHPMyAdmin (MySQL) a try or PHPPgAdmin (PostgreSQL). Often they are preinstalled by your hosting provider.
Can I switch the database software after installation?
Yes, you can. If you manage to transfer your data. This is not that easy and exceeds the coverage of this documentation. Experienced users should be able to do this job, others should ask.
Is there a way to be always up to date with LB?
Yes, but you need some tools and a bit time to get familiar into "software versioning". Our bleeding edge source code and releases are stored in our "Subversion Repository". This is a piece of software helping us to track changes in LB.
  • You can view the SVN-Repository by using your browser or get a tool to use the voodoo of Subversion directly. Either you can use command line tools available on common used platforms or graphical interfaces. On Microsoft Windows you can try TortoiseSVN which installs a SVN client in your explorer context menu. On Linux you can use RapidSVN or "kdesvn". Both should be available on your distrubution software repository (synaptic, yum, aptitude, zypper etc.).
  • Then you must decide, whether you want to use the latest code and sometimes have the risk to get broken software. But the advantage of getting patches real fast. Otherwise you can choose one of our releases and hop from one to another. Both paths are found in the Repository-URL. You can access them by HTTP or SVN-Protocol.
  • The latest source code can be found in "trunk":
    http://svn.savannah.nongnu.org/svn/larusboard/trunk
    svn://svn.savannah.nongnu.org/larusboard/trunk
  • Release packages which are a snapshot of the current code on that time can be found in:
    http://svn.savannah.nongnu.org/svn/larusboard/tags/release-x.x.x
    svn://svn.savannah.nongnu.org/larusboard/tags/release-x.x.x
    Where "x.x.x" must be replaced by the version number you would like to have.
  • As soon as you have decided for one URL, you must get a copy from the repository - called a "checkout". On a graphical interface this is very comfortable. Just search the option "Checkout" and give the URL and your local folder for the copy. That should be all. Some programs require to open the repository first, before making a copy. When using the command line tool, type: svn co http://svn.savannah.nongnu.org/svn/larusboard/trunk /local/path/to/larusboard
  • The last step is to get updates from us. This is simply called "Update" on SVN. It will merge all changes since checkout to your local copy. Again graphical interfaces usually have a button to push. That's all. On command line use: cd /local/path/to/larusboard
    svn update

Technical

What does Debug Mode mean?
This is a special mode usually enabled for developers. They use it to look inside the software as it runs. Common users can live without it and should disable it. Just open the "class.root.php" in the "private folder" and adjust the "const DEBUG = xxx" line.
Are any information stored encrypted?
Yes, there are some. First of all: Data in filesystem or database is unencrypted, as this is a matter of your filesystem. Consult your operating system manual or administrator, if you think these are sensitive enough for that. LB however does protect passwords and browser cookies. First one are saved as a hash (some kind of digital fingerprint) in database, never in plain text. They cannot be recovered, if you lost them. Only renewed. As your browser sends passwords or cookies these are protected, too. This is independent whether you use additional secure channels like SSL (HTTPS) or not.
Why do you support multiple database software?
Well, our main focus lies on PostgreSQL as it supports more features than MySQL (5.x). We do not want to go into details here, but PostgreSQL does more work on data integrity and safety. MySQL has basic support as it is widely used and offered by hosting providers.
Why are you using Unicode (UTF-8)?
By using Unicode we can implement other languages easier. Usually every has its own glyphs and sharing only a minimal subset, like (arabic) numbers. They all are included in Unicode (UTF-8) and need no (error prone) charset transformations from one language to another.
I am a developer. What are important methods of the core classes?
Well, you should know how to fetch internal variables, process user inputs, query the database and perform asynchronous requests.
  • XFCache::(get|put|purge) - gets, puts or purges content from cache
  • XFCache::topic - topic cache, containing meta data
  • XF::date - format timestamps for human readable output
  • XF::file_handler - allows to read, write and delete files
  • XF::get_(cfg|group|user) - gets a configuration value, user or group data
  • XF::link - parses a link for use in browser or redirections
  • XF::logger - drops a message in logging system
  • XF::sanitize_var - process user inputs by several rules
  • XF::sql_query - do a query on sql database
  • XF::tan - receive a transaction number for user request
  • XF::vault_query - store or fetch common variables
  • XFUI::html_(head|foot|redirect) - hmm, what do you think? :)
  • XFUI::ajax_init - inits the asynchronous requests, must be called before html_head()
  • XFUI::lang_str - translates a string to requested/current language

I am a developer. What functions are used in templates?
First of all, for a detailed documentation on our template engine, have a look at Smarty Documentation. Usually variables are assigned to templates by php script. Although users may disable caching, please test your extensions with caching. All contents are cached, except "inserts" located in "insert_xfi()". Use them for any live content that should be freshly inserted every page request.
  • Fetch Variables - inserts NAME in template. Must be assigned in php script by XF::$tpl->assign().
    {insert name='xfi' class='var' var='NAME' [ escape=[0|1] ]}
  • Date - parses an integer timestamp to user readable output. FORMAT syntax can be found on strftime(), readable makes "Today, xx:yy" instead of full date.
    {insert name='xfi' class='date' ts='TIMESTAMP' [ format='FORMAT' readable=[0|1] now=[0|1] ]}
  • Translate String - get NAME from translation table and insert the result.
    {insert name='xfi' class='i18n' var='NAME' [ lang='LANGUAGE' ]}
  • Link - parse a link. Set ACTION to execute. Append any further arguments as key-value-pair.
    {insert name='xfi' class='link' action='ACTION' [ ... ]}

Misc

Can I help to improve LB?
Of course! Depending on your skills you can help us with ideas, bug reports or even send us patches. Please use our support pages for that.
I would like to have xyz in LB...
Please have a look on the page with the recent development. There we list some things already scheduled for implementation or rejected so far. If you do have another feature request, please submit it to our support pages.


http://freesoftware.net23.net/larusboard/static.php?page=static-faq-english