shawnclake / userextended Goto Github PK
View Code? Open in Web Editor NEWAn extension to the existing RainLab.User plugin for OctoberCMS
Home Page: http://octobercms.com/plugin/clake-userextended
License: GNU General Public License v3.0
An extension to the existing RainLab.User plugin for OctoberCMS
Home Page: http://octobercms.com/plugin/clake-userextended
License: GNU General Public License v3.0
Many errors can occur and currently do not return any feedback.
Add feedback to situations which can occur in:
Save the users previously selected group and role to session such that when the page reloads it takes them to where they were.
Add documentation for:
Many of the classes are too loose. Improve encapsulation by utilizing private/protected where possible.
Add templated profile pages which can be chosen via an added dropdown in the User component inspector.
Template examples:
Remove old component registrations from Plugin.php to coincide with the second stage of deprecation.
Use services such as:
More to come soon
Switch friend states to use a 2^n state. This can then be converted to a binary string. For example if following = 2, friended = 4, and subscribed = 8, then we can store the number 14 which translates to binary as: 1110. Thus we can see the 3 1's correlate to our friend states. Now we can store multiple user relations rather than just 1.
Cleanup classes:
Define a contract for the publicly used classes:
Also add a contract for component methods which are fairly nondescript right now
Add features:
Add traits:
Create & use email templates during the following events:
Comb through the code base and
Move core functions into the core module to reduce the 'built-in' feel of the current features.
Move:
Add:
More to come soon
The extension class (Called 'UserExtended') should be capable of:
Best usage practices:
Add a setting for using Disqus as the default commenting system.
Hey @ShawnClake
I guess you forgot to mention about Data Structure Plugin.
It need to be installed before using UserExtended
Add soft deletes, created_at, updated_at, and deleted_at to UsersGroups.
Utilize this when removing a user from a group. Also utilize this information in Role Manager to display when a user was added to a role via 'updated_at' as well as a users group history by utilizing soft delete time stamps.
Display stats such as:
Add a backend settings tab including:
Throw exceptions at key points in the operation of UserExtended.
Key points which can't fail (but not limited to):
Add relative time stamps by adding both:
Add features:
The backend page will be called 'Module Manager' and contains the following features:
This will also require the creation of a module_manager table for storing the settings above.
I get the following error while installing the plugin
"SQLSTATE[42000]: Syntax error or access violation: 1075 Incorrect table definition; there can be only one auto column and it must be defined as a key (SQL: alter table `users_groups` drop primary key)"
Add lang support across the plugin.
In order of priority:
Hi,
i've installed this usefull plugin on my local machine with vagrant environment.
But when i click on Role Manager have this error:
syntax error, unexpected 'for' (T_FOR) ../plugins/clake/userextended/controllers/roles.php line 57
The line:
$groupRoles = RoleManager::for($this->vars['selectedGroup']->code);
Bye
gab
Add lang support for role/group names/descriptions etc. Utilize a lang importer by creating a separate backend page for creating and using lang.
More to come soon.
Log actions of events thrown by UserExtended.
These include, but aren't limited to:
Pushed back features:
Looks like this plugin has some issues as after installing it, it does not let you do anything with OCMS.
Can not install plugin, could not login or anything just throws error
"The code has already been taken"
Add support for creating location relations with users by utilizing Rainlab.Location plugin.
More to come soon
Add additional features:
Cleanup the controller code.
Attempt to fix that primary key issue by removing the UsersGroups table and recreating it as default on uninstall.
Remember, we can't just create our own table because then Rainlab.Users won't know what to do.
Mark old components which were consolidated as deprecated.
Add documentation indicating which component to use now instead.
This would also link from the role manager.
This would display stats such as:
Provide suggestions for cleaning up old users, inactive users, inactive groups/roles.
Combine components
into the component:
Add additional features:
Add a tab to backend->user where we can view dynamic user settings and update the dynamic user settings.
Also, on user create, add a tab to create user settings which are marked as createable.
Add an injectUserSettings function which will import and merge another module's user_settings.yaml if it returns true. Get an array of all config options and then throw them into a merge rather than trying to merge the files.
** This must be able to be turned off on a per-module basis inside of the Module Manager page in the backend **
Add features:
Add setting types:
Implement:
More coming soon.
Add support for Clake.Pusher by adding a module to the pusher plugin.
From user extended we can detect whether or not pusher is loaded as a module and if it is, utilize it to send real time notifications.
Add event hooks to:
Add permissions:
Combine components:
into component:
Add additional features:
Create a scaffolding command in artisan in order to create UserExtended module classes.
Syntax:
This creates a UeModule.php class in the plugins home directory. It will also set the module $name property to clakeUserextended.
It will auto generate the following:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.