AsmBB

Power
Login Register

AsmBB running under Hiawatha webserver on Debian Linux

#15449 (ツ) crustyoz
Created 08.07.2018, read: 5198 times

I have used the hiawatha webserver for over 10 years in CGI mode.

    https://www.hiawatha-webserver.org

This is the first time I have tried to use a fastCGI application. I write programs in C and Go with good success. I choose not to use PHP so am very interested in asmbb as an alternative to the many PHP based forum applications. I have 40 years experience as a programmer. (Yes, my beard is grey).

I have partial success in running the asmbb forum software under hiawatha, using the installation instructions here:

    https://board.asm32.info/asmbb-how-to-download-compile-and-install_49/

The hiawatha configuration file, like .htaccess for apache, is stored at /usr/local/etc/hiawatha/hiawatha.conf or /etc/hiawatha/hiawatha.conf depending on the installation method.

Modifications to hiawatha.conf sections for asmbb are:

    FastCGIserver {
      FastCGIid = asmbb
    #  Extension =  # empty implies send all requests to this server
      ConnectTo = /home/chris/www/asmbb/engine.sock
    }

and:

    UrlToolkit {
      ToolkitID = asmbb
    #  RequestURI isfile Return
      Match ^.*$ UseFastCGI asmbb
    }

and

    VirtualHost {
      Hostname = asmbb.local
      WebsiteRoot = /home/chris/www/asmbb
      AccessLogfile = /usr/local/var/log/hiawatha/access.log
      ErrorLogfile = /usr/local/var/log/hiawatha/error.log
    #  UseFastCGI = asmbb
      UseToolkit = asmbb
    }

The file /etc/systemd/system/asmbb.service is used by systemd to control the asmbb daemon. It contains:

    [Unit]
    Description=AsmBB forum engine FastCGI script.
    After=hiawatha.service

    [Service]
    Type=simple
    User=www-data
    WorkingDirectory=/home/chris/www/asmbb
    ExecStart=/home/chris/www/asmbb/engine
    Restart=on-failure

    [Install]
    WantedBy=hiawatha.service

The /etc/hosts file has asmbb.local as a domain on 127.0.0.1

All files in /home/chris/asmbb are owned by www-data which has group level access to the parent directory.

There is no mail server running on my local machine so the outbound verification email does not work.

Asmbb started and displayed the admin setup dialog if the http://asmbb.local/!login/ url was used. Other activity has been variable, either working or crashing the asmbb daemon. The fault.txt file left in the working directory looks like:

0805995E

08051E4E
080502F2
080515C6
B771A9AE

with slight variation depending on the link used.

After some playing with restarting the asmbb daemon, deleting the fault.txt file(s), and clicking other links first, I was able to get the submit button to work and it accepted the admin login parameters.

Yesterday, I was able to login but many actions cause the asmbb daemon to crash.

Today, using http://asmbb.local causes the daemon to crash but http://asmbb.local/!login/ works. Clicking the submit button causes the daemon to crash. After clean-up and restart, using the /!login/ url redisplays the login dialog however, the login link in the top right corner has changed to logout (admin).

Clicking the user profile link below logout displays the profile as expected.

Clicking on the show all threads icon causes a daemon crash. There are zero threads at the moment.

So the application is not usable in its present state.

Two possible solutions come to mind:

1. a CGI only version of asmbb could be made and tested,

2. other users could provide better specification on this combination of application, webserver and operating system. This would require installing them and testing.

Any help you could provide is gratefully accepted.

Regards,

Chris

#15450 (ツ) johnfound
Last edited: 09.07.2018 by johnfound, read: 5191 times

I never used hiawatha server so I have no experience with it. But the crash of AsmBB is not acceptable and will be fixed.

Unfortunately I got some flu today and will not be able to check this problem right now. But will try to fix it ASAP and will report the solution here.

Thanks for the detailed report. It will help a lot.

#15451 (ツ) johnfound
Created 09.07.2018, read: 5183 times

Well, I think I fixed it. It was a stupid regression. I really should test better before release.

Try to download the binary pack again it should not crash anymore.

#15452 (ツ) crustyoz
Created 09.07.2018, read: 5174 times
johnfound

Well, I think I fixed it. It was a stupid regression. I really should test better before release.

Try to download the binary pack again it should not crash anymore.

The updated tar file works as expected. Thanks for your very fast response, despite you having symptoms of the flu.

Now that I can see the full features of asmbb I am impressed. I will continue to explore it and offer the following notes as feedback on what I've seen so far:

  1. I downloaded the updated asmbb tar file, and replaced
     all components in my working directory. The existing
     board.sqlite file was left in place.
     
     The new version started but showed the setup dialog so
     something was not correct in the old database.
     
     I re-entered the admin setup details and received the
     reply as a new url in the browser address bar:
     
     http://asmbb.local/?err=1&msg=Error%3A%20POST%20data%20invalid%21

     I had image loading turned off since this is the way I
     run my browser normally.
     
     It is possible there was a graphical notification that
     I did not see for that reason.

     The error message was correct if the old database still
     had the admin user registration details and I was trying
     to create a duplicated user id.

     I shutdown the engine, removed the old database and
     restarted.

     I changed the url to "asmbb.local" and saw the expected
     setup dialog.

     I created the admin user as part of the setup and then
     logged in successfully.

  2. I turned on image loading in the browser since I knew
     that there was no <img alt="value"> for the All Threads
     icon in the top left corner.

     When image loading is turned off, the mouseover tag 
     still displays when the mouse is moved to the correct 
     spot and the pointer changes to the hand for the link.

     This is a small request but since you use so few images
     in the application, perhaps you could go through the
     templates/code to add suitable alt-text values.
     
     I see in "templates/Wasp/main_html_start.tpl" that you 
     are using a class-based background image so this request 
     might be difficult to address.

  3. After editing the system settings the notification in
     green is:

     The settings has been saved

     and should be

     The settings have been saved

  4. The placeholder text in the Post content textarea of
     "templates/Wasp/form_new_thread.tpl" is:

     Share you thoughs here

     and should be

     Share your thoughts here

  5. After creating a couple of threads as admin, I logged
     out, then registered as a new user. The registration
     worked correctly and since I had turned off the email
     verification in settings, I was shown the come in
     message and able to log in as the second user.

  6. The Answer dialog content textarea does not have the
     placeholder "Share your thoughts". Not sure if it is
     needed but it would be consistent to have it. This
     would be in "templates/Wasp/form_new_post.tpl".

  7. What is the purpose of the Category button in the top
     left corner?

That's all for now.

Thanks,

Chris

#15453 (ツ) johnfound
Last edited: 09.07.2018 by johnfound, read: 5170 times

The problem with the image in the "Show all threads" button is that there is no image at all. It is an <a> tag, that has background set by the CSS styling.

The problem of using <img> tag with respective alt parameter is that I wanted to have the same template files for the different themes. You can see that most of the template files are actually symlinks. But if I include <img> tags I will be forced to make different template files for every theme, which will make theme editing/handling much more complex.

Anyway, I will think about your request, because it is actually pretty reasonable.

The "Categories" button shows the threads, grouped by categories, similar to the classic forums. But the definition of a "category" differs in AsmBB. In the classic forums, the categories (aka subforums) are defined by the administrator. In AsmBB a category is actually a tag with defined description and having "importance" above or equal to zero (all tags are created with importance == 0). The description of the tag is assigned by using "tag:description" syntax in the tag fields of the new thread. I know it is a hidden feature, but simply didn't find time and place where to display it for the users. :-)

While you don't have such tags in your AsmBB instance, you will not have any categories. You can see how it looks here in /!categories

Also, thanks for the syntax errors correction. I will fix them for the next release.

#15454 (ツ) crustyoz
Last edited: 09.07.2018 by crustyoz, read: 5159 times

Thanks for the extra information.

I understand the Category feature and how to create one from a new tag by appending a colon and some text to the tag name.

New questions:

 1. How do I edit a tag description after creating it?

     I did as you described by adding a digit "2" as the
     description for my first category. Now I understand
     the description must be any non-blank text to be
     used as a category.

     Now I want to correct that first category text.

 2. Is it possible to delete existing tags / categories?

 3. Is there a method of reversing the posted content
     sequence so that latest content is first in list?

 4. It would be nice to have an Answer button after the
     latest content entry since the button at the top can be
     a long way back up screen. I know about the post
     icon which includes quoted text. I suppose I could
     just delete the quote and it would be same, yes/no?

 5. The mouseover text for the strikethrough icon is:

      Striked trought

     and it should be:

       Strikethrough

 6. What is the purpose of the Render button?

Regards,

Chris

#15455 (ツ) crustyoz
Created 09.07.2018, read: 5154 times

Next question:

Is there an undocumented setting that would force the login dialog as first page rather than the forum thread listing?

I am thinking of a private forum on a website.

#15456 (ツ) johnfound
Last edited: 09.07.2018 by johnfound, read: 5150 times
crustyoz
 1. How do I edit a tag description after creating it?

     I did as you described by adding a digit "2" as the
     description for my first category. Now I understand
     the description must be any non-blank text to be
     used as a category.

     Now I want to correct that first category text.

You can simply use this tag in some thread and to add a description to it. Also, you can edit the thread properties (the pencil icon next to the thread header when you are inside the thread) and to specify the tag with the new description.

crustyoz
 2. Is it possible to delete existing tags / categories?

Yes, but only in the SQL console:

  delete from tags where tag="mytag";

Also from the SQL console, other tricks with the tags are possible.

By setting the importance to negative number you can hide some tags from the tag list at the top. For example, in the demo forum this way is hidden the tag "botspam". The importance field also is used for sorting the categories - categories with higher importance goes higher.

  update tags set importance = N where tag="mytag";

Setting the description from the SQL console is also possible:

  update tags set Description="My description" where tag="mytag";
crustyoz
 3. Is there a method of reversing the posted content
     sequence so that latest content is first in list?

The latest active threads are always first in the list, but the posts in the thread are in reverse - latest post is last in the list. This logic is hard coded in the SQL statements used to read the data from the database. Actually I find this order better for reading and as long as you have link to jump to the first unread post, the navigation is also easy.

Anyway, in order to change this behavior you need to edit the file: source/showthread.sql and to recompile the engine.

crustyoz
 4. It would be nice to have an Answer button after the
     latest content entry since the button at the top can be
     a long way back up screen. I know about the post
     icon which includes quoted text. I suppose I could
     just delete the quote and it would be same, yes/no?

Yes there in no difference. Also, you can edit the template and to add a button "without quote" in post_view.tpl:

[case:[special:canpost]| |<a href="!post">Answer</a>]
crustyoz
 5. The mouseover text for the strikethrough icon is:

      Striked trought

     and it should be:

       Strikethrough

Thanks. Fixed.

crustyoz
 6. What is the purpose of the Render button?

Well, the posts are saved in two forms - the editable "similar to markdown" format and rendered to HTML for faster loading. The rendered form is updated on edits, but sometimes when the engine changes, all rendered html becomes invalid. The button "Render all" is active only for admins and simply renders all posts that have Rendered field set to NULL. This way in order to re-render all posts, you need first to execute update Posts set Rendered = NULL; One press of "Render all" renders only the firs 1000 posts found, so you may need to press it several times.

crustyoz

Next question:

Is there an undocumented setting that would force the login dialog as first page rather than the forum thread listing?

I am thinking of a private forum on a website.

Well, no, not actually. The threads and posts are visible for everyone. At least for the current version.

#15457 (ツ) crustyoz
Created 12.07.2018, read: 4539 times

I was reviewing the fossil repo and noticed that this typographic change to the new post placeholder is incomplete:

  "Share your thoughs here"

should be:

  "Share your thoughts here"
                               ^
#15458 (ツ) johnfound
Created 13.07.2018, read: 4531 times
crustyoz

I was reviewing the fossil repo and noticed that this typographic change to the new post placeholder is incomplete:

Thanks. Fixed. I really miss spell checker in the IDE. :-)

#15460 (ツ) crustyoz
Created 24.07.2018, read: 4460 times

Hi John:

Many thanks for your work in making the non-image version 2.3 that is very usable.

Just some small points:

1. Clicking the Answer button yields a textbox with the placeholder "Ansewer the wrong one here". The spelling of "Answer" needs adjustment. And the entire placeholder statement is confusing. Perhaps a better one is something like "Enter comment to append to thread."

2. The thumbtack icon to the left of pinned topics shows in non-image mode when it should be some text abbreviation. I assume it is a web font character. It surprises me to see it because most web fonts do not show when I use an older version of Firefox (v52). Perhaps an exclamation mark "!" would work here as it suggests something important.

3. The non-image link indicating unread comments exist for a thread is the characters "UR". When there are zero unread comments the "UR" ceases to be a link. What did you intend to mean by "UR"? Is it a short for "UnRead"? Perhaps a simple asterisk "*" or plus "+" as link and a blank when not active would be better.

4. The image link indicating unread comments is the same image as the home link. I don't remember if that was the case with earlier versions, but it seems a bit ambiguous. Perhaps an image of the asterisk or plus sign for unread links would work here too.

Regards,

Chris

#15461 (ツ) johnfound
Last edited: 24.07.2018 by johnfound, read: 4458 times

Hi Chris.

crustyoz

1. Clicking the Answer button yields a textbox with the placeholder "Ansewer the wrong one here". The spelling of "Answer" needs adjustment. And the entire placeholder statement is confusing. Perhaps a better one is something like "Enter comment to append to thread."

I will fix it. Thanks. The whole placeholder text is a joke - an allusion about the popular xkcd strip "Someone is wrong on the Internet!". ;-)

crustyoz

2. The thumbtack icon to the left of pinned topics shows in non-image mode when it should be some text abbreviation. I assume it is a web font character. It surprises me to see it because most web fonts do not show when I use an older version of Firefox (v52). Perhaps an exclamation mark "!" would work here as it suggests something important.

The alt text of the "pinned" icon is not a webfont. It is the Unicode "pushpin" symbol with code U+1F4CC; You are probably missing a font that contains this symbol. :( But you are actually right. Exclamation mark symbol will do the job in more compatible way!

crustyoz

3. The non-image link indicating unread comments exist for a thread is the characters "UR". When there are zero unread comments the "UR" ceases to be a link. What did you intend to mean by "UR"? Is it a short for "UnRead"? Perhaps a simple asterisk "*" or plus "+" as link and a blank when not active would be better.

This means "UnRead" actually. This icon, when is highlighted (and has a link) indicates that there are unread messages in the thread and in the same time it is a link that marks all messages in the thread as read. When it is gray (and has no link) it indicates that there is no unread messages inside. Actually I don't like much this double functionality, because it is a little bit counter-intuitive and there is a risk that the user will click it and will mark all posts read unwittingly. I am open for suggestions about better solution from the UX point of view.

crustyoz

4. The image link indicating unread comments is the same image as the home link. I don't remember if that was the case with earlier versions, but it seems a bit ambiguous. Perhaps an image of the asterisk or plus sign for unread links would work here too.

The same as my notes for 3. - in the thread list this icon means "multiply posts/messages", i.e. "a thread". When used in the tag list, it means "all threads", i.e. "not filtered by tag". My imagination simply ended here trying to invent the appropriate icons. :-D Any ideas are welcome.

#15462 (ツ) crustyoz
Created 24.07.2018, read: 4453 times
johnfound

Hi Chris.

I will fix it. Thanks. The whole placeholder text is a joke - an allusion about the popular xkcd strip "Someone is wrong on the Internet!". ;-)

Thanks, the reference helped. xkcd is popular in a certain crowd but I think too subtle for
non-programmers.

The alt text of the "pinned" icon is not a webfont. It is the Unicode "pushpin" symbol with code U+1F4CC; You are probably missing a font that contains this symbol. :( But you are actually right. Exclamation mark symbol will do the job in more compatible way!

Unicode contains more than I know about. That explains why it displayed despite images not loading.

This means "UnRead" actually. This icon, when is highlighted (and has a link) indicates that there are unread messages in the thread and in the same time it is a link that marks all messages in the thread as read. When it is gray (and has no link) it indicates that there is no unread messages inside. Actually I don't like much this double functionality, because it is a little bit counter-intuitive and there is a risk that the user will click it and will mark all posts read unwittingly. I am open for suggestions about better solution from the UX point of view.

I understood the function of the icon/link but the use of "UR" is not obvious. And the double
functionality is a bit dangerous. Perhaps separate marker and link are required.
crustyoz

4. The image link indicating unread comments is the same image as the home link. I don't remember if that was the case with earlier versions, but it seems a bit ambiguous. Perhaps an image of the asterisk or plus sign for unread links would work here too.

The same as my notes for 3. - in the thread list this icon means "multiply posts/messages", i.e. "a thread". When used in the tag list, it means "all threads", i.e. "not filtered by tag". My imagination simply ended here trying to invent the appropriate icons. :-D Any ideas are welcome.

I mis-understood the use of that link in the tag list. To me it meant the home display,
which happens to be the same as "all threads, any tag" display. The non-image mode
use of "/" made sense as the root (or home) display. Something that indicates "any tag"
or "select all" could work.
#15463 (ツ) crustyoz
Last edited: 24.07.2018 by crustyoz, read: 4452 times

Hi John:

The previous post, number 15462, does not behave in a responsive manner when browser window width is changed. Can you explain why?

Chris

#15464 (ツ) johnfound
Created 24.07.2018, read: 4445 times
crustyoz

Hi John:

The previous post, number 15462, does not behave in a responsive manner when browser window width is changed. Can you explain why?

Chris

Yes, I can. It is because of the code blocks you use. There is a bug, or more precisely design flaw in the CSS that makes these blocks to not word wrap. Will fix it.

#15465 (ツ) crustyoz
Created 25.07.2018, read: 4431 times
johnfound
crustyoz

Hi John:

The previous post, number 15462, does not behave in a responsive manner when browser window width is changed. Can you explain why?

Chris

Yes, I can. It is because of the code blocks you use. There is a bug, or more precisely design flaw in the CSS that makes these blocks to not word wrap. Will fix it.

Thanks. I need to be more careful in the tagging I use. I intended it as a replacement for the markdown itemised list.

AsmBB running under Hiawatha webserver on Debian Linux

AsmBB v2.9 (check-in: 6d407831308ba556); SQLite v3.31.1 (check-in: 3bfa9cc97da10598);
©2016..2020 John Found; Licensed under EUPL. Powered by Assembly language Created with Fresh IDE