YesNoOk

Show content

This section allows you to browse the content for this member. Note that you can only see content for which you have sufficient viewing permissions.

*
Nightwish is Offline
Contact Nightwish:

Nightwish

Administrator

Messages by Nightwish

    
Re: Looks pretty dead
 February 17, 2015, 21:35:33 View in topic context
 Posted by Nightwish  in Looks pretty dead (Started by Phillip February 17, 2015, 20:55:51
 Board: Chit Chat

Well, at anytime I am usually working with different software. SMF, MyBB, phpBB, vBulletin, and also xenforo and others. So if you need any ideas and such let me know. I don't mind at all.
Well, this is based on SMF 2 and still shares a lot of things with it, including the database scheme (though with quite some extensions).

    
Re: Looks pretty dead
 February 17, 2015, 21:24:17 View in topic context
 Posted by Nightwish  in Looks pretty dead (Started by Phillip February 17, 2015, 20:55:51
 Board: Chit Chat

Looking around here it looks pretty dead. Let's get this place going again. :)
Well, it basically is dead, since I do no longer have time to work on it. That may change in the future, but right now, I highly doubt this. It was a personal project to develop a forum software with certain features for a site that was never realized, because the owners changed their mind. After that, I continued it a while for a personal project, but lost interest at some point.

So yes, there is next to zero activity here, apart from the odd spam bot every now and then. Whether this will change I cannot say. The software itself is still available on github, but unless you're a developer with quite some experience, it's probably useless, because installation and configuration is unfinished and may not even work at all.
    
Re: User tagging
 May 29, 2013, 00:10:45 View in topic context
 Posted by Nightwish  in User tagging (Started by Nightwish October 28, 2011, 23:43:11
 Board: Showcase

Nope, I only fetch active users (is_activated = 1) and users with X post or more where X can be defined by the admin, other than that yes I fetch the entire table. I know this can be a problem with a large forum but then again most of the features on this mod will be a problem with a large forum.
Well, I always try to avoid potential performance issues, though there are a few, especially with the rating + notifications system in EoS - completely untested, but my guess is that thousands of post ratings every hour (something that can happen on a very busy forum) could pose a potential performance issue.

Simple idea: Why not fetch the user data after the first letter has been typed? This could reduce the number of possible matches significantly. Of course, it would be a problem when the user mistyped the first letter and decides to go back, in which case, you would have to repeat the query for a different starting letter.
    
Re: User tagging
 May 26, 2013, 07:06:46 View in topic context
 Posted by Nightwish  in User tagging (Started by Nightwish October 28, 2011, 23:43:11
 Board: Showcase

But how exactly do you perform the database lookups for the user names?

Its just a plain query to the users table, the query fetches the real_name ad the ID and return the data as a json file, the mention script fires an ajx call to this special action and it gets the daa in json format.
But you're returning the entire user db in this call?
    
Re: User tagging
 May 24, 2013, 18:05:55 View in topic context
 Posted by Nightwish  in User tagging (Started by Nightwish October 28, 2011, 23:43:11
 Board: Showcase

Well, thats as far as I could go really, the script itself fires up an ajax call everytime the user types the @, thats cool for simple queries to text files or simple demo pages but for something real like a forum userbase thats just not possible as it would kill the server. Thats why I end up wrapping the ajax call to be fire up only on focus() , that alone drastically reduced the number of ajax request the script does, the retrieved data gets appended to the DOM so all the sorting and juggling are done on client side which is really a nice plus to have.
But how exactly do you perform the database lookups for the user names?

I know, it's a performance thing - looking up on every letter typed by the user would generate way too many requests, so that's not a solution.

At some point, I had the idea of implementing "lightweight" requests, particularly for requesting json responses. Such a lightweight request would skip all the heavy initializations like loadTheme(), loadBoard() and so on, because this isn't really needed for a simple database lookup. Loading the session, permissions and user data would still be required though, and with some testing, I found out that you don't gain much from skipping a few initializations, so I quickly forgot the idea.

For small forums (probably for the majority of all forums out there) you could simply fetch all username at once and cache them using our caching system - refreshing this cache every couple of hours or maybe every time a new member registers would be enough.

Still, you would need to fetch the username cache when a member performs a lookup and store it somewhere (preferably in the browser to make lookups completely client-sided). With a large member base, the cache could easily be a couple of megabytes in size, but memory isn't really the problem here, it would just generate a lot of traffic.

Quote
I tried the SMF autosuggest feature, perhaps it was me but I didn't find it easy to customize and besides it wasn't designed to work on textareas.
The latter can be done quite easily (just a bit work on the JS). What autosuggest does is that it requires the user to know the first 3 letters of the username - it will only query the database after the first three letters have been typed. This is a reasonable compromise, but with a large member base, the list of names sharing the first three letters can be large enough to present the user a very long list of names.
    
Re: User tagging
 May 24, 2013, 16:42:14 View in topic context
 Posted by Nightwish  in User tagging (Started by Nightwish October 28, 2011, 23:43:11
 Board: Showcase

yeah, most likely a spam user :(
Well, maybe, but since there are no annoying links in the post and new users cannot abuse signatures for spam, I don't mind :)
"Suki" said:
Anyways, for my neeeds I end up using a really nice plugin for notifications: https://github.com/ichord/At.js
That looks good, but imho not enough "lightweight" - maybe it can be stripped down a bit :)

I've planned to use a modified version of the already present username-lookup in SMF (what's being used for adding buddies, for example), but since there are still some unresolved difficulties, it's not yet implemented, so auto-complete doesn't work.

Notifications should, however, work :) @Suki: testing...
    
Re: got some install problems
 May 18, 2013, 01:15:56 View in topic context
 Posted by Nightwish  in got some install problems  (Started by samozin April 20, 2013, 10:03:03
 Board: Testing Board

yay  you're back :)  I noticed you were gone from github and for a moment I regret that I never really got a chance to play with EoS  but I'm glad you're back :D
Huh, gone from Github?

Well, no, not really. I wasn't really active for the past few weeks/months (busy with lots of other things), but not really gone. Maybe a Github screwup, noticed some weird things recently, like getting 404 errors when clicking on (valid) commit links.

Project isn't dead, just slow progress at the moment :)
    
Re: got some install problems
 May 08, 2013, 20:12:23 View in topic context
 Posted by Nightwish  in got some install problems  (Started by samozin April 20, 2013, 10:03:03
 Board: Testing Board

sorry i couldnt do it manually iam haveno  idea about such sql codes :(
i just liked the its features i wanted to my site based on something like that modified smf fork
i got some own codes to make frontpage dynamic slideshow for the boads i want
looks like my codes wont work with this fork ?
Addons written for SMF will not work with EoS - there are way too many differences and incompatibilities. However, data structures and core functionality are similar, so in theory, it should be possible to port SMF addons to EoS if you know enough PHP.
Quote
can i take some features from this fork to my ordinary smf script ?
Well, since it is open source, you can of course use the code (or just parts of it) for your own project(s).
    
Re: got some install problems
 April 20, 2013, 11:47:36 View in topic context
 Posted by Nightwish  in got some install problems  (Started by samozin April 20, 2013, 10:03:03
 Board: Testing Board

AT the display.template it give me this problem while viewing the topics
Table 'sitename_try.samo_topicbans' doesn't exist
File: /home/sitename/public_html/EosAlpha-master/Sources/Display.php
Line: 259
Basically, this software isn't ready for installation / usage yet (but thanks for trying it :) ).

The install script has not been updated for a while and basically it's still the original SMF 2.0 installer (+ a few changes). It probably contains a lot of other issues, not only with the db scheme, but also with new or obsolete settings among other things that are differently handled in EoS.

The only thing you could do is to manually create/modify the missing tables. Table structure is documented in table-changes.sql (differences to a standard SMF 2.0 table scheme) and install_2-0_mysql.sql (full table scheme).

The topicbans table is required at this time since the topicban feature can not (yet) be optional.
    
Re: Database changes
 March 22, 2013, 16:52:08 View in topic context
 Posted by Nightwish  in Database changes (Started by Nightwish July 27, 2012, 01:05:13
 Board: Change logs

Columns likes_received and likes_given are removed from the member table.
Code: (mysql)
ALTER TABLE {$db_prefix}members DROP likes_given;
ALTER TABLE {$db_prefix}members DROP likes_received;

They have been replaced with ratings_given and ratings_received respectively. Both are TEXT columns and their purpose is to record more details rating stats for each member.

The column ratings_given records all ratings the member has given to other member's posts. Likewise, ratings_received records stats for all ratings a member has received.

Code: (mysql)
ALTER TABLE {$db_prefix}members ADD ratings_given text NOT NULL default '';
ALTER TABLE {$db_prefix}members ADD ratings_received text NOT NULL default '';


      Posted: April 20, 2013, 14:37:43
Commit: 5af5274549272b72ef1e15bc6e1f720a0475b72c
Code: (mysql)
ALTER TABLE {db_prefix}prefixes ADD css VARCHAR(20) NOT NULL default '';
This field holds the css class(es) used to format the prefix. It allows to apply backgrounds (or even images) to topic prefixes in the message index display.

The CSS classes can be defined in the override CSS for any given theme.
    
Testing - show avatars in quotes
 March 19, 2013, 23:28:49 View in topic context
 Posted by Nightwish  in Testing - show avatars in quotes (Started by Nightwish March 19, 2013, 23:28:49
 Board: Showcase

Quotes now show the avatar of the original post's author if the member id of the author is given in the [quote] tag. The avatar can be clicked to show the member card for the user. If the user doesn't have an avatar, nothing will be shown and quotes will appear as normal (text-only).
^^ quote (including avatar)

The BBCode syntax for the QUOTE tag has changed a bit but remains compatible with the old syntax.
Code: (plain)
[quote author=Name link=topiclink date=timestamp uid=X]
or
[quote author=Name uid=X]

The uid parameter contains the member's ID and is an optional parameter. Only if present, the avatar will be added to the quote. Quoting a post in the editor will automatically insert the uid parameter.

Note to myself (todo): There should be an option to disable this forum-wide. A per-user profile option would be difficult and inefficient because the output of the BBC parser is usually cached to improve performance in busy threads. A per-user option to show these avatar would therefore require multiple cached copies of the same post.
1 Like It  | 1 Thank You 
    
Re: Database changes
 February 24, 2013, 15:26:15 View in topic context
 Posted by Nightwish  in Database changes (Started by Nightwish July 27, 2012, 01:05:13
 Board: Change logs

https://github.com/silvercircle/SMF/commit/79dad0a832024a19e3cc01c7cc11f5144e40fe2b

Code: (mysql)
ALTER TABLE {$db_prefix}membergroups ADD rating_pool int(10) unsigned NOT NULL default '0';

Add rating points pool to member groups. A rating may or may not cost a given number of points and the pool specifies the number of points a member can spend on rating posts within a given period of time (usually, one day).

Rating costs are totally optional - ratings can have their costs set to 0 in which case they can be used without any limitations, but costs may be useful to avoid "rating abuse" in any form.

If a user is member in multiple member groups, the highest pool value of these groups is the effective one.

Ratings which cost more points than the member currently can spend, cannot be used.

NOTE: This is WIP, not everything works (yet).
    
Re: To twig or not to twig
 February 24, 2013, 06:21:14 View in topic context
 Posted by Nightwish  in To twig or not to twig (Started by Nightwish June 22, 2012, 23:05:24
 Board: EosAlpha Bulletin Board System - development

I don't know if forum templates can be light enough for a template system to really works without issues
Well, it can. Look at XenForo :) It pretty much uses MVC design patterns for everything and its templates are lightweight. If you want this in SMF, you basically have only one option: Rewrite the entire software from scratch - probably a task that would result in enough work to keep a couple of good fulltime developers busy for a year or more :) It's not something I plan to do though.
Quote
I agree with re-usage, I always wondered why SMF have separate templates for private messages and normal messages since they are the same, I also wondered why the user info in messages was printed with every message, that is static data that is been fetched and displayed multiple times, you can have a separate template for that and just call the template one time and print it as many tmes as you want/need.
Most likely performance reasons and limitations by technology. About 10 years ago, PHP was a very different thing and lacked a lot of today's features. Since SMF's templates are pure hand-written PHP code, they come with practically zero overhead. Template engines like Twig or smarty are also compiling their code into pure PHP, but the resulting code is less efficient. The performance impact is acceptable with today's hardware resources, but 10 years ago things were different.

Having the full power of PHP available in your templates is a tempting thing and results in templates doing lots of things that should better be done by the backend code (something that happens quite often in SMF). It's not so much a question of using MVC - just a very simple thing of separating the display process from the program logic. You can do this without ever spending a single thought on MVC or any other design approach, such patterns will only help you to make things easier and more organized but they are not a requirement for a strict separation of logic and presentation. In fact, SMF's way of populating the huge $context[] array and then using templates to output what's inside $context is a very simple (and efficient) method of separation. In SMF, it's just not enforced strictly enough.

    
Re: To twig or not to twig
 February 23, 2013, 14:48:32 View in topic context
 Posted by Nightwish  in To twig or not to twig (Started by Nightwish June 22, 2012, 23:05:24
 Board: EosAlpha Bulletin Board System - development

oh! I wish I had read this before :P I also take a look at twig and had the same results, I jut checked it against an experimental blog code, using a framework contributed to the slow times as well.
Twig is actually pretty cool, it's just not well-suited (and probably not designed) for the heavy duty usage in a forum, especially SMF where templates are heavy, with lots of if/else and loop constructs.

The reason why I have chosen to use a template engine is because it's easier to write and debug templates. With smarty, it's just HTML code (with some special tags embedded) instead of endless echo() constructs which are sometimes hard to read. Also, smarty is easily extendable with custom functions and tags and the modular concept of blocks makes it easy to assemble larger pages made of many smaller sub-templates.

For example, there are template bits for topic rows which are re-used in many places - the same template block that displays a topic row in messageindex is also being used in search results, unread topics and elsewhere. Chainable template hooks (important for addons) are also easy to implement and the goal is to have a plugin system that do not require any changes to existing templates.
    
Re: minor things
 February 19, 2013, 07:07:15 View in topic context
 Posted by Nightwish  in minor things (Started by Valodim July 27, 2012, 11:26:30
 Board: EosAlpha Bulletin Board System - development

Just another note about templates.

There is now a new maintenance option in the admin panel (Forum Maintenance -> Routine -> Clean all compiled templates). It will do like instructed and purge the entire cache of compiled templates. In some cases, smarty may fail to properly track all the dependencies and may use already compiled templates, instead of re-compiling them when the source file has been changed.