Forums

Unfortunately no one can be told what FluxBB is - you have to see it for yourself.

You are not logged in.

#51 Re: Core development » User list heading » 2010-06-09 10:14:28

Paul

Removing it was deliberate.  Its not necessary and complicates styling because its inconsistent. I didn't think it looked too bad in Oxygen.

#52 Core development » Git trouble again » 2010-06-07 15:06:01

Paul
Replies: 0

I seem to be experiencing more git woes.  This time I'm getting a ".. hung up unexpectedly, bad file number" error.  This is for the forum not the site.

EDIT: Ignore me, (G)it seems to be working again.

#53 Re: General support (1.4) » Two texts in one place » 2010-06-02 14:34:22

Paul

Are you using rc3 or the latest version from GiT.  I'm sure I already hid the unwanted text.

#54 Re: Feature requests » DEL & INS tag » 2010-06-02 14:32:43

Paul

I've always liked it.

#55 Re: General support (1.4) » Two texts in one place » 2010-06-02 12:30:37

Paul

The real solution to things like this is templating rather than config options.

#56 Re: General support (1.4) » Two texts in one place » 2010-06-02 11:12:52

Paul

This isn't a bug, just a styling choice.  It is also purely css, nothing to do with code.  I decided I didn't want the category heading on a row of its own so I moved it down into the table with absolute positioning and covered the column heading.  Just remove the css which absolutely positions the heading and put it back on its own row like in Oxygen.

In fact, in the latest revision I positioned the column heading off screen so you shouldn't have this problem anyway.

#57 Re: Core development » Site - Resources Pages » 2010-05-31 16:43:42

Paul

I would display the forum version data for the latest release. It just seems kind of incomplete without it. Also bear in mind people are lazy.  They may just have hit a link to the mod from the front page so they won't have filtered the mods.

#58 Core development » Site - Resources Pages » 2010-05-30 18:03:49

Paul
Replies: 13

It seems the structure is a little complex for somebody who just wants to download a mod in a chosen file format.  The have to go through the modifications detail page to the release page to get at the various format downloads.  Shouldn't the mod details page provide links for all format downloads and contain information regarding supported versions.  That way an ordinary user never has to view the releases page at all.

EDIT: Ignore me, I can make it look easier.  One thing though, the only reason a user would be interested in the mods revision history is if they need to download an older version to support an older version of FluxBB. That being so the FluxBB version support information should be on the mod details page. In fact it should be there anyway because its a far more important bit of information that the number of downloads etc.

#59 Re: Core development » 2.0 vs 1.x » 2010-05-29 19:34:45

Paul

However its put to the community I would be tempted to get 1.4 out the door first.

#60 Re: Core development » 2.0 vs 1.x » 2010-05-29 11:02:16

Paul

I included a fallback in the template class.  The language file arrays were set to the template and merged into an array $lang.  The template then output language strings with a function $fxb::say('Hello world') rather than echo.  If 'Hello world was not in the array then the function would output an error string though it could just as easily have output the original parameter as a string. NB: for flexibility, if there were multiple parameters then the function would printf rather than echo.

What you do with language files might depend on how you want them handled.  Either the main files can use the language strings and send merged data i.e. string + data to the template which is how FluxBB works now or everything can be sent raw to the template.  The first is easier and involves less changes, the second is a cleaner seperation of frontend from backend.

I was probably asleep at the time but I seem to have missed the arguments for alternatives to using arrays in language files.

#61 Re: Core development » 2.0 vs 1.x » 2010-05-28 23:41:53

Paul

As I keep telling people, IE6 support is just markup and css.  Its upto the template author what browsers they support.  However, if you mean the default templates I'm OK with that.  We can always have an officially supported IE6 theme in the repo.

#62 Re: Core development » 2.0 vs 1.x » 2010-05-28 22:42:13

Paul

BTW: I agree with Reines outline.  Doesn't ridgerunner already have a new parser somewhere near completion?

#63 Re: Core development » 2.0 vs 1.x » 2010-05-28 22:34:39

Paul

If people have to update their mods for 1.5, what about mods that use php4.  When its dropped in 1.6 the mods will need updating again.  Wouldn't it be better to dump php4 a.s.a.p which means things only have to be updated once.

#64 Re: Core development » 2.0 vs 1.x » 2010-05-28 20:01:47

Paul

OK.  To get back to the main issue.  The way I see it the mobile web is the way things are going.  FluxBB ought to be the perfect forum for anybody who needs a decent forum on a desktop and a mobile.  It has enough features to please most desktop users and is light enough to appeal to mobile users.  The one fly in the ointment is the absence of templates and, what is now, 6 year old markup.  That cripples frontend flexibility and puts fluxbb in danger of missing what should be its perfect target audience.  If you are going to go down the 1x route I can guarantee that the template system will not be the thing that takes the time.  If the templates used the 1.4 markup initially for testing which eliminates thinking time and css tinkering then you could have a fully working templated version in a matter of weeks. Far from being the thing that is put off until version 2, templating is the first thing I would put into version 1.5.

#65 Re: Core development » 2.0 vs 1.x » 2010-05-28 19:19:33

Paul

Making a template extensible isn't difficult. You just do this

<?php $this-startBlock('Menu'): ?>
<ul>
<li>blah</li>
<li>blay</li>
</ul>
<?php $this->endBlock('Menu'); ?>

What happens is this, if an extension hasn't registered some markup for the 'Menu' block with the template class then the startBlock() and endBlock() functions simple exit which means the markup between them gets rendered.  If an extension has registered some markup for the 'Menu' block then startBlock() opens a buffer and endBlock() captures the buffer to a variable and then closes the buffer.  The instruction coming from the registered extension is then processed.  That instruction will either be before, after, replace, delete.  What happens next should be obvious.  Of course that doesn't address collisions but thats the job of the extension manager class not the template.

As for template nesting, with the approach I outlined thats not your call.  Its entirely upto the template author how they structure the template set.  They could just use one set of templates nested inside a page wrapper or could nest them 10 deep.

#66 Re: Core development » 2.0 vs 1.x » 2010-05-28 19:08:45

Paul

More generally, its not actually an either or situation.  If enough people were interested 1x could be continued whilst the rewrite for 2x went on in the background.  It also takes the pressure of 2x development.

#67 Re: Core development » 2.0 vs 1.x » 2010-05-28 19:02:54

Paul

The way the templating system works (ignoring the compiler option) is this.  A simple template class is included via common.php.  The template class constructor takes the name of the calling file e.g. viewforum.php as a parameter together with the user style info.  It now knows that the main template is mystyle/viewforum.tpl.php.

The viewforum.php file is essentially the same as now except instead of spitting out markup it simply constructs an array of topics which it assigns to the template object.  It also assigns the language file arrays which are merged together by the template object.

Now a new file called page.php is loaded.  This replaces header.php and footer.php.  Again it works the same as the existing file except it assigns variables to the template object rather than producing markup.  At the end of page.php is the call to the template class render method.

Now here is where the templating gets a bit clever and very flexible.  At the top of viewforum.tpl.php there is a bit of php which tells viewforum.tpl.php to decorate itself with page_viewforum.tpl.php.  This is an intermediate wrapper which contains things such as breadcrumbs, pagination, posts links etc.  page_viewforum.tpl.php contains a call to another wrapper which is page.tpl.php which contains all the stuff common to all pages.  Essentially the page is being constructed from the inside out i.e. its the opposite of using include.  The buffered output is then rendered.

Of course not every page needs to use an intermediate wrapper, forms will go straight to the page wrapper and some pages can use the same intermediate wrapper.  The flexibility comes from allowing the main section templates to dictate their own wrappers which means you avoid having to to include code to decide whether a particular page gets crumbs or not etc. Further flexibility comes from the fact all data has been assigned to the template object prior to any of the template files being rendered.  This means the main section template can use data assigned by page.php and the page wrapper can use data assigned by viewforum.php.

If you are wondering why I'm going into so much detail its because I think it essential that the template system be introduced before doing anything else.  The reason is once the view layer is seperated out as described you no longer have to concern yourselves with markup, css or any other frontend stuff which vastly simplifies development.  As for the view layer, it is completely agnostic as to how the backend works, it only cares that the right data is pushed to it which means it keeps on working while the backend is being developed.

#68 Re: Core development » 2.0 vs 1.x » 2010-05-28 15:32:11

Paul

I have been working on my own version (semi complete) which I call FluxBB PSV which I intended for some intranets . It has the following features:

1. Template system either compiled manually through admin or written in pure.php.  Tests show it makes not a jot of difference to page rendering or memory consumption.  It uses a simple class for rendering and an optional compiler class. Markup can also be injected/deleted/modified by an extension system or mod.  The idea behind the manual compiler is it overcomes the security issues of templates being written in php.  The idea is that templates are written with tokens which get replaced but the compiling process is done via admin either manually or automatically when the style is installed so there is no overhead during runtime.  In normal use the only code that is loaded is the simple class which renders the compiled pure php templates.  Geeks can of course manually alter the compiled php templates if they prefer.

2. Templates can use other templates.  For example there could be a style called Oxygen which uses a complete template set.  A style called Lithium would then specify in its config file that it uses the Oxygen template set.  That way you can have multiple styles but only one template set.

3. Use of jquery mainly for admin and forms.

I was intending to have this finished within a few weeks of 1.4 being final and then dump it on you with an invitation to call it 1.5 alpha if you were interested.  Quite surprisingly, the templating system is dead simple to implement, the most time consuming part of the exercise is actually knocking out the template sets, it takes about an hour per page on average.

With regard to all existing styles being useless thats actually incorrect.  A template set could exactly mimic existing markup.  That means it could potentially not only support 1.4 styles but also 1.2 and even PunBB 1.1.  Its actually more backwards compatable than 1.4.

One other very good reason for going this route is having something available quickly that can take full advantage of the growth in mobile device use.  The way a forum deals with iphones etc is becoming a critical factor in people decision to use it or not.

In short,  I totally agree with you which is rather why I've never been interested in v2.

#69 Re: Modifications (1.4) » Simple bot registration barrier » 2010-05-26 19:47:09

Paul

Or it was completed by somebody using a screen reader who didn't pay attention to the instruction (assuming there is one) not to complete the field depending on the technique used to hide the field.

#71 Re: Core development » Bug Tracker - possible minor bug » 2010-05-25 21:28:26

Paul

Looking at them under a microscope you are right.  The horizontal of the four and the hash ran into each other perfectly making the strike through invisible at least to me.  I may need new spectacles.

#72 Core development » Bug Tracker - possible minor bug » 2010-05-25 21:23:06

Paul
Replies: 5

I have two tickets both marked as fixed.  One of the tickets shows the number struck through and the other doesn't.  The only difference I can identify is that the one which doesn't show the number struck through had its description changed after the change in its status.

#73 Re: Core development » Bug tracker » 2010-05-25 17:43:31

Paul

I don't get the Bug Tracker background colours.  I would have assumed they reflected the tickets status but obviously not. Do the colours reflect the priority?  If so fixed items have no priority because they have already been done.

#74 General support (1.4) » RTL Stylesheets on GIT » 2010-05-25 16:06:33

Paul
Replies: 10

Just for fun and to save having to zip them up I've created a GIT repository for the RTL stylesheets. The RTL stylesheets have been updated to match the current LTR stylesheets.

http://gitorious.org/fluxbb-rtl

#75 Re: General support (1.4) » Profile fields validation » 2010-05-24 13:30:49

Paul

Isn't there a ski resort in France called Les Arc 2000. That would appear to be a town name with digits.

Board footer

Powered by FluxBB 1.4.8