Larus Board

FAQ.EN $Id: saturas $Ver: 0.9.15
Frequently Asked Questions and Answers (FAQ)
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.

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 changed a value in database but nothing happened?
Do you have enabled the forum caching settings (as they are by default)? 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.

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.

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.

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.

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.

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, apt-get, adept 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
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__".
I am a developer. What are important methods?
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' [ ... ]}


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