Visit Our UNIX and Linux User Community


Status of UNIX.COM Forum Transformation


 
Thread Tools Search this Thread
The Lounge What is on Your Mind? Status of UNIX.COM Forum Transformation
# 1  
Old 10-15-2018
Status of UNIX.COM Forum Transformation

Having spent a lot of time over the past year taking a legacy vBulletin site (this forum) and making the site responsive on mobile; I've happy with the results; but it will soon be time to move on.

Basically, at our core, we are a LAMP (Linux, Apache2, MySQL and PHP) site, and vBulletin was built on the LAMP stack.

vBulletin provided a user interface system with HTML templating (served from the DB, as well as version control and template management in the same DB), and PHP hooks to install PHP plugins (functionality).

In a nutshell, when a user accesses a vBulletin page the PHP makes a synchronous call to the DB and the results are formatted in HTML using HTML templates (which are also in the DB), and those templates are cobbled together and served to the user.

Over the past year, I have made a lot of changes in many HTML templates and getting rid of many obsolete <table> DOM elements, replacing them with <div> DOM elements, etc. and adding a lot of new CSS and Javascript / jQuery, to enhance presentation.

I knew this was only a "bandaid fix" and someday, the entire vBulletin user interface must change. So, I started looking at various ways do to this, and it seems that the best approach may be to:

Modify the underlying PHP calls to return the DB data in JSON format.

Basically, most all of the cool and rapidly evolving (and exciting) technology in Javascript frameworks provide for what happens in the user's browser and does nothing for the PHP (server side). This means we are "good to go" with our LAMP stack and core PHP functionality (with the exception we need to move to PHP7 sooner than later).

So, what we need to do is to modify the PHP calls to the DB to return the data in JSON format so we can easily use any new web development framework for the user experience (Angular, Vue, React, Oracle Jet, electron, or "WhatEverTron" -- the field is changing almost daily and certainly weekly).

Keep the Existing User Interface and Build a New One in Parallel.

There is no reason to trash the existing user experience; and based on my experience here, users do not like change (even a single color change or a change of margin in a single item can cause negative feedback from users.) . For this reason, I'm not inclined to break the current user interface. Instead, I think it is better to build a parallel one using a "framework" (like Vue.js or Angular.js) or a ""non framework framework"" (like Oracle Jet) - have not decided. Actually, it might be good to build more than one parallel user experiences to the same back end database.

What Does All this Mean for Users?

It's probably good news for our "hard core forum fans" who like the current forum format. There will not be a lot of new development in the "vBulletin HTML template" side of things; just bug fixes and small features enhancements here and there.

However, the future is to move away from vBulletin (and the underlying forum format) by building a parallel user experience on top of the same LAMP back-end. This means, for example, taking a PHP call to the database that shows a thread, for example, and adding some code to have it (in parallel) produce the same data in JSON objects. Then, we can take these JSON objects and easily build new user experiences with the same rich DB we have and have the flexibility to adapt to new innovations in browser technology. The field is moving forward very fast. Times are exciting.

I am guessing that I will start with the user profiles. The user profile pages are a mess and are based on some very old legacy vBulletin code which, in the old days, permitted users to define their own CSS theme. This resulted in a clunky, buggy, very hard to maintain user profile page experience. I may change this first, I think (not sure). As mentioned, the best way ahead is to tackle each PHP call one step-at-a-time by adding a JSON output which can be used by react. js or Angular.js or Vue.js or Oracle JET.... or any cool Javascript toolkit or framework which works with Data as Javascript Objects (DAJSO).

Anyway. Thanks!

Obviously, there is a big project ahead and I'm currently a team of one on the coding side of this project and have other things to do in life; but I'll try to make progress on moving the forums ahead. Thanks for your patience and for supporting this site.
These 8 Users Gave Thanks to Neo For This Post:
# 2  
Old 10-19-2018
Having spent a few days with Oracle JET, I cannot really see how rebuilding existing working pages with Oracle JET would be the best use of our development time.

However, for building new pages and features, Oracle JET has already come in handy as I have started to build working dashboard where I can easily monitor forum performance on my desktop. I am considering porting this to the main forums so all moderators and forum advisors can see the dashboard on their desktop or mobile.

Anyone have any indicators they would like to see added to the live dashboard?


Image
These 2 Users Gave Thanks to Neo For This Post:
# 3  
Old 10-19-2018
In more general terms, I sometimes hit the forums when not very responsive. That happens because of backup. I believe. Is there an indicator that you can set on the dashboard? In other words I want to be able to blame reasonable causes and not go off in a pointless direction.
These 2 Users Gave Thanks to jim mcnamara For This Post:
# 4  
Old 10-20-2018
Added three "LED" indicators that turn red for each of the following when they run:
  • mysdump
  • gzip
  • find


Image


However, to be honest, I have not noticed any noticeable slowdown when backups occur since moving to the new server.

Today, when testing the LED indicators, there was little noticeable slowdown when I ran the backups.

Before, most slowdowns happened when the anti-spam database was being updated, but we killed that application after moving to the new server.

I may add a "free memory" indicator and a "percent filesystem full" indicator next.
This User Gave Thanks to Neo For This Post:
# 5  
Old 10-20-2018
OK.. Done.... added:
  • Disk Space Free %
  • Free Memory
  • Cached Memory

Image
These 3 Users Gave Thanks to Neo For This Post:
# 6  
Old 10-20-2018
OK... added CPU totals for:

Server (All)
Apache2
MySQL

Image

Maybe later will add some "cybersecurity" indicators too Smilie
This User Gave Thanks to Neo For This Post:
# 7  
Old 10-20-2018
Slightly rearranged.

Image

Previous Thread | Next Thread
Test Your Knowledge in Computers #893
Difficulty: Easy
sed uses regular expressions, such as .* (zero or more of any character).
True or False?

8 More Discussions You Might Find Interesting

1. What is on Your Mind?

YouTube: Forum Moderation @UNIX.com | The UNIX and Linux Forums

Forum Moderation @UNIX.com | The UNIX and Linux Forums https://youtu.be/WGwgibE4Rq0 Also note: In the video I mentioned removing legacy menu items in the ModCP which are unused. I have already "CSS'ed out" the unused menu items: ... (0 Replies)
Discussion started by: Neo
0 Replies

2. Shell Programming and Scripting

Data transformation

I do have an input text file of the following format with 1000's of lines input file: 3386(11:11,Ani:0,Bri:1,ch:1,Jwe:0,Jor:0,LP:0,Lo:0,NS:1,al:1,bo:0,boy:0,bru:0,sh:0,cor:1,dum:0,ery:0,mac:0,mic:0)... (3 Replies)
Discussion started by: Kanja
3 Replies

3. Programming

Need best forum site for java (as for unix its unix.com)

Hi All, Can anyone help me for knowing the java best side forums. where i will get a quick responce like here , as i am having lot of question. Thanks (1 Reply)
Discussion started by: aish11
1 Replies

4. UNIX for Advanced & Expert Users

Need help in xslt transformation

Hi I have one input xml file <param name="EXTR_COL" valueDesc="AUTHD_RFLL" value="rx.AUTHD_RFLL" /> There is a mapping parameters in Database. if EXTR_COL is present in input XML then it is mapped to fieldlist. so the o/p XML looks like <fieldlist> <datasource... (1 Reply)
Discussion started by: srinu19
1 Replies

5. Shell Programming and Scripting

xslt transformation through Unix

Hi .. I have one input XML and I want to convert into another XML using parameter mapping through Database through Unix shell script. But I dont have idea how to do that. And how can I create xsl sheet if mapping is through database tables. Please help me on this. (1 Reply)
Discussion started by: srinu19
1 Replies

6. Shell Programming and Scripting

XML to csv transformation

Hi, I want to write a perl script. Which should accept the xml file, one xsl file and the loaction. The perl script should process the xml file using the xsl file and puts the out put in specified location. For example: My.perl is perls cript. my.xml is like this <?xml version="1.0"... (2 Replies)
Discussion started by: siba.s.nayak
2 Replies

7. Shell Programming and Scripting

file name transformation

I've got a multitude of text data files that carry exactly the same kind of data. Unfortunately some of them have a different filename format some are: 'category'_'month'-'year'_act.txt an example being: daf_Apr-1961_act.txt and some are: 'category'_ 'year'-'month'_act.txt an... (16 Replies)
Discussion started by: vrms
16 Replies

8. UNIX for Advanced & Expert Users

Unix port status

disregard solved (0 Replies)
Discussion started by: calamine
0 Replies

Featured Tech Videos