Re: Diamond MVC / Template Engine - v2.1.0 Released

2017-11-04 Thread bauss via Digitalmars-d-announce

On Friday, 3 November 2017 at 14:43:32 UTC, WebFreak001 wrote:

On Friday, 3 November 2017 at 14:16:53 UTC, bauss wrote:
On Thursday, 2 November 2017 at 22:55:04 UTC, WebFreak001 
wrote:

[...]


I don't normally use VS Code, so to create a template for it 
are there anything specific it must include?


And yeah I'll come up with some longer examples and tutorials, 
for now I've made a temporary website with a bit of 
documentation as well API docs.


https://diamondmvc.github.io/Diamond/


Cool, I will take a look at that website.

There aren't actually templates in vscode but my D plugin adds 
some for D projects, you can check the folder in here: 
https://github.com/Pure-D/code-d/tree/master/templates


Created a pull-request with empty templates for Diamond projects.


Re: Diamond MVC / Template Engine - v2.1.0 Released

2017-11-03 Thread WebFreak001 via Digitalmars-d-announce

On Friday, 3 November 2017 at 14:16:53 UTC, bauss wrote:

On Thursday, 2 November 2017 at 22:55:04 UTC, WebFreak001 wrote:

On Thursday, 19 October 2017 at 23:29:57 UTC, bauss wrote:
I'm pleased to announce that I have just released Diamond 
2.1.0.


There has been a lot of updating to Diamond since last 
announced release.


[...]


Looks really useful, how about making a longer example and 
provide a template project? I could also include that template 
project in the code-d project creation dialog


I don't normally use VS Code, so to create a template for it 
are there anything specific it must include?


And yeah I'll come up with some longer examples and tutorials, 
for now I've made a temporary website with a bit of 
documentation as well API docs.


https://diamondmvc.github.io/Diamond/


Cool, I will take a look at that website.

There aren't actually templates in vscode but my D plugin adds 
some for D projects, you can check the folder in here: 
https://github.com/Pure-D/code-d/tree/master/templates


Re: Diamond MVC / Template Engine - v2.1.0 Released

2017-11-03 Thread bauss via Digitalmars-d-announce

On Thursday, 2 November 2017 at 22:55:04 UTC, WebFreak001 wrote:

On Thursday, 19 October 2017 at 23:29:57 UTC, bauss wrote:
I'm pleased to announce that I have just released Diamond 
2.1.0.


There has been a lot of updating to Diamond since last 
announced release.


[...]


Looks really useful, how about making a longer example and 
provide a template project? I could also include that template 
project in the code-d project creation dialog


I don't normally use VS Code, so to create a template for it are 
there anything specific it must include?


And yeah I'll come up with some longer examples and tutorials, 
for now I've made a temporary website with a bit of documentation 
as well API docs.


https://diamondmvc.github.io/Diamond/


Re: Diamond MVC / Template Engine - v2.1.0 Released

2017-11-02 Thread WebFreak001 via Digitalmars-d-announce

On Thursday, 19 October 2017 at 23:29:57 UTC, bauss wrote:

I'm pleased to announce that I have just released Diamond 2.1.0.

There has been a lot of updating to Diamond since last 
announced release.


[...]


Looks really useful, how about making a longer example and 
provide a template project? I could also include that template 
project in the code-d project creation dialog


Re: Diamond MVC / Template Engine - v2.1.0 Released

2017-10-28 Thread bauss via Digitalmars-d-announce

On Saturday, 28 October 2017 at 13:01:56 UTC, Kapps wrote:
This looks very cool. I already ended up doing my more recent 
project in C# partially due to wanting ASP.NET MVC and Entity 
Framework, but this would have been a really nice replacement 
to ASP.NET MVC.


Yeah, it has been inspired by ASP.NET a lot and have a partial 
ORM implemented as a separate package that integrates pretty well 
with it.


Re: Diamond MVC / Template Engine - v2.1.0 Released

2017-10-28 Thread Kapps via Digitalmars-d-announce
This looks very cool. I already ended up doing my more recent 
project in C# partially due to wanting ASP.NET MVC and Entity 
Framework, but this would have been a really nice replacement to 
ASP.NET MVC.


Re: Diamond MVC / Template Engine - v2.1.0 Released

2017-10-25 Thread bauss via Digitalmars-d-announce

On Thursday, 19 October 2017 at 23:29:57 UTC, bauss wrote:

I'm pleased to announce that I have just released Diamond 2.1.0.

There has been a lot of updating to Diamond since last 
announced release.


Diamond has also moved repository from my personal Github to an 
organization Github.


The reason for that change is because I've started a couple 
side projects for a tool-chain that can be used with Diamond.


The organization repository can be found here: 
https://github.com/DiamondMVC


2.1.0 is not backward compatible with the versions released at 
the personal repository.


Here are some of the changes:

* Diamond now has its own organization repository
* Controller actions can be mapped by attributes (@HttpDefault, 
@HttpMandatory, @HttpAction)
* Controllers do no longer require their type to be passed as a 
template parameter to the base-controller class
* Views support sections (See: 
https://github.com/DiamondMVC/Diamond/wiki/Syntax-Reference#sections)
* Views and web configurations have been split into separate 
files
* Default headers can be set for different types of requests 
(Unlike in the legacy version of Diamond where there were only 
one type.) -- These types include gneeral, static files, errors 
and not found (404)
* Better construct to control application type (module: 
diamond.core.apptype -- isWeb, isWebServer, isWebApi; all of 
them are booleans that can be used at compile-time with static 
if, instead of the old construct of using version. This works 
better because they're conditional, unlike versions)
* Allows you to bind to multiple ips and ports, unlike the 
legacy version that only allowed one port for many ip addresses.
* Renames of some members such as request -> httpRequest, 
response -> httpResponse
* A routing class has been added to easier access routing data 
for requests (module: diamond.http.route)

* Most of the compile-time engine has been rewritten.
* A lot of bugs has been fixed, code is better structured etc.

For the latest release see:
http://code.dlang.org/packages/diamond

For the github repository see:
https://github.com/DiamondMVC/Diamond

To see what's upcoming see:
https://github.com/DiamondMVC/Diamond/wiki/Upcoming-Features

Thank you, that's all!


Even though it has only been 5 days since 2.1.0 has been 
announced, I am pleased to announce 2.4.0 now. I have spend the 
past days working almost 24/7 to improve Diamond and make it as 
close to a usable framework as it can get.


Everything that has been implemented between 2.1.0 and 2.4.0:

* Extension support (Extensions can be in form of local 
repositories or repositories that Dub can fetch.)

* Authentication (Can be used with or without the ACL)
* Cookies / Sessions
* ACL (Access Control List)
* CSRF Protection
* RESTFul / Type-secure routing
* Controllers in web-apis can have multiple routes
* Base-view can be passed to a view's controller
* Layout views can be changed dynamically
* Caching for expensive views
* Network restrictions

The wiki and template projects will be updated accordingly to the 
latest version of Diamond.


Thank you!


Diamond MVC / Template Engine - v2.1.0 Released

2017-10-19 Thread bauss via Digitalmars-d-announce

I'm pleased to announce that I have just released Diamond 2.1.0.

There has been a lot of updating to Diamond since last announced 
release.


Diamond has also moved repository from my personal Github to an 
organization Github.


The reason for that change is because I've started a couple side 
projects for a tool-chain that can be used with Diamond.


The organization repository can be found here: 
https://github.com/DiamondMVC


2.1.0 is not backward compatible with the versions released at 
the personal repository.


Here are some of the changes:

* Diamond now has its own organization repository
* Controller actions can be mapped by attributes (@HttpDefault, 
@HttpMandatory, @HttpAction)
* Controllers do no longer require their type to be passed as a 
template parameter to the base-controller class
* Views support sections (See: 
https://github.com/DiamondMVC/Diamond/wiki/Syntax-Reference#sections)

* Views and web configurations have been split into separate files
* Default headers can be set for different types of requests 
(Unlike in the legacy version of Diamond where there were only 
one type.) -- These types include gneeral, static files, errors 
and not found (404)
* Better construct to control application type (module: 
diamond.core.apptype -- isWeb, isWebServer, isWebApi; all of them 
are booleans that can be used at compile-time with static if, 
instead of the old construct of using version. This works better 
because they're conditional, unlike versions)
* Allows you to bind to multiple ips and ports, unlike the legacy 
version that only allowed one port for many ip addresses.
* Renames of some members such as request -> httpRequest, 
response -> httpResponse
* A routing class has been added to easier access routing data 
for requests (module: diamond.http.route)

* Most of the compile-time engine has been rewritten.
* A lot of bugs has been fixed, code is better structured etc.

For the latest release see:
http://code.dlang.org/packages/diamond

For the github repository see:
https://github.com/DiamondMVC/Diamond

To see what's upcoming see:
https://github.com/DiamondMVC/Diamond/wiki/Upcoming-Features

Thank you, that's all!