Mysidia Adoptables Support Forum

Mysidia Adoptables Support Forum (http://www.mysidiaadoptables.com/forum/index.php)
-   Suggestions and Feature Requests (http://www.mysidiaadoptables.com/forum/forumdisplay.php?f=21)
-   -   Official Mys v1.4.0 Ideas & Suggestions Thread (http://www.mysidiaadoptables.com/forum/showthread.php?t=4075)

IntoRain 02-04-2014 08:31 AM

Can I suggest doxygen-style comments for the classes and functions? Doxygen automatically generates a wiki thing (.html) with information on all classes and functions from just comments, making it easier in my opinion for us to search for stuff. I know it kinda sucks to comment everything, but since you will be changing the code a lot and since some of the older functions and core classes are already commented, I thought I'd suggest doxygen-style comments: http://www.doxygen.nl/docblocks.html

The generated .html pages look awesome:

http://i.imgur.com/xwg2V9c.png (example of a function description (detailed) - it has the call graph and the caller graph!)

http://i.imgur.com/O8nIDdC.png (example of a class list, it shows undetailed member functions with the details at the end of the page - it has a search function! it also shows class hierarchy, files, etc!)

Hall of Famer 02-04-2014 02:06 PM

Thats a good suggestion IntoRain. And yes I've been working on the documentation system as well, it will be similar to JavaDoc style. By the time the new version is about to be released I will generate the documentation so you all can read and see how to use the classes. Some complex class methods may even get their own examples on how to use effectively.

Kyttias 02-04-2014 03:28 PM

Quote:

Originally Posted by Hall of Famer (Post 28919)
Thats a good suggestion IntoRain. And yes I've been working on the documentation system as well, it will be similar to JavaDoc style. By the time the new version is about to be released I will generate the documentation so you all can read and see how to use the classes. Some complex class methods may even get their own examples on how to use effectively.

Can't wait!

(Is there a projected release data for v1.4? We're a few months out still, but just curious. :happyc:)

Hall of Famer 02-04-2014 04:20 PM

I do not have a projected release date yet, but the time period should be around summer. I'm currently working on the model/domain layer of the application, aka new database and model design and object-relational mapping. Perhaps I should post a thread indicating the progress of the new version and update it whenever something happens?

squiggler 02-04-2014 05:28 PM

Quote:

Originally Posted by Hall of Famer (Post 28923)
I do not have a projected release date yet, but the time period should be around summer. I'm currently working on the model/domain layer of the application, aka new database and model design and object-relational mapping. Perhaps I should post a thread indicating the progress of the new version and update it whenever something happens?

That would be perfect, thanks!

IntoRain 02-04-2014 05:40 PM

Quote:

Originally Posted by Hall of Famer (Post 28919)
Thats a good suggestion IntoRain. And yes I've been working on the documentation system as well, it will be similar to JavaDoc style. By the time the new version is about to be released I will generate the documentation so you all can read and see how to use the classes. Some complex class methods may even get their own examples on how to use effectively.

Thank you so much! That sounds pretty neat!

Hall of Famer 02-10-2014 07:43 AM

You are very welcome. For now I can update you guys/gals on some information on Mys v1.4.0, its not anything like an official update but should give you some clues on what will become of the project.

-- It will support the following database systems: MySQL, PostgreSQL, Sqlite3, OCI8 and MSSQL, though MySQL is highly recommended.
-- It will have around 70-80+ database tables(60+ data tables and 10-20 settings tables), thus doubling the number from Mys v1.3.4.
-- It will have an improved friend system, users can set privacy options to make certain part of their profile or other properties to be viewed only by friends.
-- It will have an ignore system, similar to the friend-system. If you get tired of some users pestering you with messages or trade offers, it will come in handy.
-- It will feature a moderation system in which you can selectively approve/disapprove actions by certain users.
-- It will come with a pseudo-cronjob system that runs scheduled tasks. You can create cron job scripts and link them in ACP to enable scheduled events.
-- It will feature an improved plugin/hook system, making true addon scripts possible rather than mods that require editing core script files.
-- It will offer internationalization support, although only English is available for the official package.


If you find any of the above updates interesting or confusing, please let me know and I dont mind explaining them in details. I'm currently working on the model layer(aka the domain/business and infrastructure layers) of the new script, things are shaping up nicely for now.

squiggler 02-10-2014 03:57 PM

Thanks for the update! How would 'true addon scripts' be created? I'm worried there's gonna be a massive learning curve.

Hall of Famer 02-10-2014 05:20 PM

A true addon script is a hook/plugin event like script that does not require modification of core script files. This way its very easy to install, all you have to do is to upload the plugin files and install it through ACP(you can manage all plugins/mods through ACP with Mys v1.4.0). It will make lives easier for non-coders, and moreover the plugin is most likely to be effective even after you upgrade to a newer version of the script.

The way it works is that the script keeps track of a list of plugins at a certain location, they are saved as collection of event-like objects(or callback objects) that are executed before or after a certain point in program flow. One example of such 'plugin-point' is before/after loading data from database. A plugin would possibly modify the SQL query so if you add a new column to a database table, this column will be loaded and later saved properly. Without a plugin/hook system, you have to edit the query in the core script file, and this change will not last once you upgrade your site.

It should have a learning curve for those of you not familiar with OOP and how design patterns like observer/event works, but it should not be a massive learning curve. I will provide guidelines for creating plugins once the system is complete, so it will not give you too much headache.

squiggler 02-10-2014 10:56 PM

That's wonderful! I think this would be amazing. If you feel like explaining it now (you don't have to!)...would it be like taking current mods and copy-pasting the code into the new format? How much do you think we'd need to modify the mods?


All times are GMT -5. The time now is 03:22 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.