You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+32-1Lines changed: 32 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,4 +19,35 @@
19
19
- Wrapper class Notification for sending emails, other notifications to users
20
20
- Remove username requirement for password reset. It is more likely that an attacker would know the user's username, than the user themselves. For the next version, we can try to implement some real multi-factor authentication.
21
21
- When a user creates another user, they don't need to set a password. Instead, an email is sent out to the new user, with a token allowing them to set their own password.
22
-
- Admins can manually generate a password reset request for another user, or directly change the user's password.
22
+
- Admins can manually generate a password reset request for another user, or directly change the user's password.
23
+
24
+
## v0.3.0
25
+
26
+
### Autoloading with Composer
27
+
28
+
http://www.userfrosting.com/navigating/#composer
29
+
30
+
### Front Controllers and the Slim Microframework
31
+
32
+
http://www.userfrosting.com/navigating/#slim
33
+
34
+
### MVC Architecture
35
+
36
+
http://www.userfrosting.com/navigating/#structure
37
+
38
+
### Templating with Twig
39
+
40
+
http://www.userfrosting.com/navigating/#twig
41
+
42
+
### Theming
43
+
44
+
http://www.userfrosting.com/components/#theming
45
+
46
+
### Plugins
47
+
48
+
http://www.userfrosting.com/components/#plugins
49
+
50
+
## Libraries
51
+
52
+
- URL Routing and micro-framework: [Slim](http://www.slimframework.com/)
@@ -14,7 +14,66 @@ Copyright (c) 2015, free to use in personal and commercial software as per the [
14
14
15
15
UserFrosting is a secure, modern user management system written in PHP and built on top of the [Slim Microframework](http://www.slimframework.com/) and the [Twig](http://twig.sensiolabs.org/) templating engine.
16
16
17
-
## Migrating from UF's classic data model to Eloquent:
17
+
## Installation
18
+
19
+
Please see our [installation guide](http://www.userfrosting.com/installation/).
20
+
21
+
## Troubleshooting
22
+
23
+
If you are having trouble installing UserFrosting, please read our [troubleshooting guide](http://www.userfrosting.com/troubleshooting) first!
24
+
25
+
If you are generally confused about the structure and layout of the code, or it doesn't look like the kind of PHP code that you're used to, please read [Navigating UserFrosting](http://www.userfrosting.com/navigating).
26
+
27
+
If you want a good tour of the code base, we recommend going through our [tutorials](http://www.userfrosting.com/tutorials).
28
+
29
+
## Features
30
+
31
+
#### Login page
32
+

33
+
#### Dashboard (thanks to [Start Bootstrap](http://startbootstrap.com))
UserFrosting seeks to balance modern programming principles, like DRY and MVC, with a shallow learning curve for new developers. Our goals are to:
47
+
48
+
- Create a fully-functioning user management script that can be set up in just a few minutes
49
+
- Make it easy for users to quickly adapt the code for their needs
50
+
- Introduce novice developers to best practices such as separation of concerns and DRY programming
51
+
- Introduce novice developers to modern constructs such as front-end controllers, RESTful URLs, namespacing, and object-oriented modeling
52
+
- Build on existing, widely used server- and client-side components
53
+
- Clean, consistent, and well-documented code
54
+
55
+
## What's new in 0.3.1
56
+
57
+
- Improved initialization routine as middleware
58
+
- Implemented "remember me" for persistent sessions - see https://github.com/gbirke/rememberme
59
+
- Converted page templates to inheritance architecture, using Twig `extends`
60
+
- Start using the `.twig` extension for template files
61
+
- All content is now part of a theme, and site can be configured so that one theme is the default theme for unauthenticated users
62
+
- User session stored via `user_id`, rather than the entire User object
63
+
- UserFrosting now uses Laravel's [Eloquent](http://laravel.com/docs/5.1/eloquent#introduction) as the data layer
64
+
- Cleaned up some of the per-page Javascript, refactoring repetitive code
65
+
- Implement server-side pagination
66
+
- Upgrade to Tablesorter v2.23.4
67
+
- Switch from DateJS to momentjs
68
+
- Switch to jQueryValidation from FormValidation
69
+
- Implement basic interface for modifying group authorization rules
70
+
- User events - timestamps for things like sign-in, sign-up, password reset, etc are now stored in a `user_event` table
71
+
- Wrapper class Notification for sending emails, other notifications to users
72
+
- Remove username requirement for password reset. It is more likely that an attacker would know the user's username, than the user themselves. For the next version, we can try to implement some real multi-factor authentication.
73
+
- When a user creates another user, they don't need to set a password. Instead, an email is sent out to the new user, with a token allowing them to set their own password.
74
+
- Admins can manually generate a password reset request for another user, or directly change the user's password.
75
+
76
+
### Migrating from UF's classic data model to Eloquent:
18
77
19
78
```
20
79
// Instead of...
@@ -47,40 +106,11 @@ $users = User::all(); // If you want an Eloquent Collection o
47
106
$users = User::all()->getDictionary(); // If you want an array of User objects (indexed by id)
48
107
```
49
108
50
-
## What's new in 0.3.0
51
-
52
-
### Autoloading with Composer
53
-
54
-
http://www.userfrosting.com/navigating/#composer
55
-
56
-
### Front Controllers and the Slim Microframework
57
-
58
-
http://www.userfrosting.com/navigating/#slim
59
-
60
-
### MVC Architecture
61
-
62
-
http://www.userfrosting.com/navigating/#structure
63
-
64
-
### Templating with Twig
65
-
66
-
http://www.userfrosting.com/navigating/#twig
67
-
68
-
### Theming
69
-
70
-
http://www.userfrosting.com/components/#theming
71
-
72
-
### Plugins
73
-
74
-
http://www.userfrosting.com/components/#plugins
75
-
76
-
## Libraries
109
+
[Complete change log](CHANGELOG.md)
77
110
78
-
- URL Routing and micro-framework: [Slim](http://www.slimframework.com/)
79
-
- Templating: [Twig](http://twig.sensiolabs.org/)
80
-
- Data Model: [Eloquent](http://laravel.com/docs/5.1/eloquent#introduction)
81
111
82
112
## Why UserFrosting?
83
113
84
114
This project grew out of a need for a simple user management system for my tutoring business, [Bloomington Tutors](https://bloomingtontutors.com). I wanted something that I could develop rapidly and easily customize for the needs of my business. Since my [prior web development experience](http://alexanderweissman.com/projects/) was in pure PHP, I decided to go with the PHP-based UserCake system.
85
115
86
-
Over time I modified and expanded the codebase, turning it into the UserFrosting project. This latest version (0.3.0) represents a major break from the original architecture of UserCake. We now use a fully object-oriented data model and a front controller for URL routing.
116
+
Over time I modified and expanded the codebase, turning it into the UserFrosting project. Starting with version 0.3.0, UserFrosting represents a major break from the original architecture of UserCake. We now use a fully object-oriented data model and a front controller for URL routing.
0 commit comments