hosannahighertech / yii2-yiiboard

Yii2 Forum Module
http://hosannahighertech.co.tz/forum
Apache License 2.0
14 stars 8 forks source link

Creating a Roadmap #1

Closed mtangoo closed 7 years ago

mtangoo commented 9 years ago

Here is my proposal

  1. Review Database Design
  2. Refactor Code to fit with New design
  3. Remove/Rewrite Legacy code from Bbii
  4. Authorization System
  5. New Default Skin (New Icons et al)
  6. Testing and Fixing

Now this is a quick thing. Its nothing concrete so I would like to hear your opinions! @DaSourcerer

DaSourcerer commented 9 years ago

I think 1 and 2 could actually be merges together with the help of migrations.

3 is actually a rather minor point as the code from Bbii isn't that bad. There's still a lot of code duplication on top of not taking full advantage of Yii's infrastructure (e.g. TimestampBehavior, AccessControl, BlameableBehavior). A lot of attributes are filled through beforeSave(), which is not that bad either, but using aforementioned behaviors would be safer. Again, nothing that couldn't be fixed in a few hours.

4 could actually be a part of 5. We would have to define proper roles and rules, wrap them in migrations and document them accordingly.

I'm not entirely sure what to do about 5. I'm tempted to recreate all views through Gii. That would throw away a lot of code but provide a neutral theme almost instantaneously. Can you be a bit more specific on what you mean by "new icons?" I think the standard bootstrap glyphicons are sufficient.

As for 6: I'm still working on testcases with Codeception. Thinking of sharing them with the original Bbii project: They should be good for both projects at this stage.

Another thing would be to add the license plates properly to all files. And we would need to turn the existing db schema into a migration soon (possibly with help of this extension).

mtangoo commented 9 years ago

@DaSourcerer , valid points. I will edit and fix things out. Sharing tests with Bbii will be great too. Here are my thoughts on some issues you addressed here: -- I don't think (1) and (2) can be merged. (1) is for re-designing database (merging tables, droping some) and (2) is about changes to the code to reflect (1) which now can include migrations scripts. So I think migrations will fall under (2) -- As for (5), I have no objection on using Gii for views. But the icons in glyphicon are lacking in some functionalities. Font-Awesome have rather much more complete font-icons and am tempted to propose its use here. Regardless of which we choose we have a decision to make whether or not to use the non-font icons (png, jpg, git et al)

Am checking that extension for mgrations and will update RM ASAP to reflect your comments

DaSourcerer commented 9 years ago

Ah, well. I think this is actually a case where migrations and git commits fall perfectly together: A commit is supposed to present an atomic snapshot of a project's state. Reflecting a change in the databases schema through a migrations makes therefore total sense. As for font awesome: My recollection of it is rather poor, so I'll have to check for it again. FWIW, most things could be represented through either glyphicons and/or unicode symbols. I am however not too fixed on that and would welcome any suggestions :smile:

mtangoo commented 9 years ago

Here is a list I have come up with taking suggestions and discussions above

  1. Create Database Migrations (Merging Tables/Removing redundant ... et al)
  2. Refactor code (New Routes, New Views, themes, wysiwyg et al)
  3. Set up filters/Authorization System
  4. Testing and Fixing

Let me know what you think/is missing

mtangoo commented 7 years ago

Officially unsupported!