[ANN] Utopia - a rack based web framework

Hi Everyone,

I've just released the next major version of Utopia, source available
at https://github.com/ioquatix/utopia

It's a content-centric web framework for Ruby. It's fast (native ragel
parsers) multi-threaded (concurrent-ruby for internal caches,
rack-freeze for safety) and it's used in production for several years
now. It's semantically close to being what I'd consider my ideal web
framework for content-centric websites and applications.

I'd love to have (good and constructive) feedback about Utopia.
Additionally, I've waited until 2.x to announce the framework, because
during 1.x there were a lot of churn (by design). Feel free to ask any
questions and if you choose to use Utopia for your next project let me
know! If you try it out and it's not what you expect, feel free to hit
me up, I'll be interested to understand your use case, and perhaps
improve the documentation.

Kind regards,
Samuel

Samuel,

Hi Everyone,

I've just released the next major version of Utopia, source available
at GitHub - socketry/utopia: A content-centric Ruby/Rack based web framework.

It's a content-centric web framework for Ruby. It's fast (native ragel
parsers) multi-threaded (concurrent-ruby for internal caches,
rack-freeze for safety) and it's used in production for several years
now. It's semantically close to being what I'd consider my ideal web
framework for content-centric websites and applications.

I'd love to have (good and constructive) feedback about Utopia.
Additionally, I've waited until 2.x to announce the framework, because
during 1.x there were a lot of churn (by design). Feel free to ask any
questions and if you choose to use Utopia for your next project let me
know! If you try it out and it's not what you expect, feel free to hit
me up, I'll be interested to understand your use case, and perhaps
improve the documentation.

Kind regards,
Samuel

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

I posted this on the Rails list recently but got no response: "Really simple Webmail client - sensible on Rails?" - I am wondering if Utopia might be a worth investigating for the job? So far I have a working, basic Rails page simply printing IMAP IDs and Subjects for the INBOX . .

The background in that post was:

I run a RoundCubeMail Webmail server on Fedora 25 x86_64 and this works out very nicely for me wherever I am using a desktop computer with large screen as a client but the Android RoundCubeMail app is terrible and other mail apps are no good for various reasons. I am think of building a really simple, server-based, Webmail client - just to read mail in the INBOX initially - and if that works out OK - enhancing the client to:

- read other Maildir folders

then:

- add a reply / forward mail option

then:

- add other features in priority order

I was thinking the display of messages would be really simple page listing of the mails on the web page where I could open individual mails for reading.

Also, that some RAM-based DB could be used for storing the messages (read from the Maildir folder) - which would just disappear on logout or get recreated on changing folders.

Do people think this viable / worth doing? Is there a simpler solution? If it is worth doing, I would just put the code up on GitLab to try and get some other people interested in further development.

What do you think? - is Utopia a sensible option?

Thanks,

Phil.

···

On 2017-03-26 14:44, Samuel Williams wrote:
--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au

Hi Philip,

Not only is Utopia suitable, but it would be a great platform for your
project. I'm not biased at all :stuck_out_tongue:

In particular, Utopia was built with the idea of making discrete
distributable web applications. An example of this would be
GitHub - oriontransfer/financier: A web-based business management platform. which is a small business
management system/invoicing system. Keep in mind that code is using
utopia 1.x so there are some minor differences in the actual code to
be aware of if you were using it as a reference at this time. It will
be updated soon though.

Additionally, Utopia doesn't include any business logic/model
framework like Rails does with ActiveRecord (although you could and we
do in some production deployments use Utopia with ActiveRecord). This
reduces the surface area of the framework and keeps it focused. You
can drop in some specific model e.g.
GitHub - ktheory/maildir: A ruby library for reading & writing messages in the maildir format or perhaps talk directly to the
server using IMAP (e.g.
http://www.ombulabs.com/blog/ruby/imap/a-comprehensive-guide-to-interacting-with-imap-using-ruby.html\).
If you used IMAP, you probably wouldn't need any specific database or
in-memory representation.

I think it's a good idea. Using Utopia would be sensible. But, there
would also be other frameworks that would make sense. Hanami is
growing in popularity, Sinatra is another good one. I think the one
difference is that I've tried to make Utopia as internally consistent
and opinionated as possible, within the bounds of what I see as being
the fundamental/necessary building blocks of a web application.
Additionally, all these building blocks within Utopia are exposed at a
high level using Rack middleware. If something in Utopia doesn't suit
your taste, you can replace it. The boundaries between the various
middleware are well defined within Utopia. Rack is the common
foundation on which Utopia builds, but this isn't so much the case
with other web frameworks, including Rails, Hanami and Sinatra. I
think using Rack as the foundation has helped ensure that Utopia
middleware has clean internal boundaries.

I actually have a small server platform which manages Dovecot/Postfix
for my own personal mail server, written in Utopia. It's primarily
focused around provisioning new accounts, and server management,
rather than access to email. I'd be happy to make that available.
While it's a bit tangential to what you are doing, it might give you
some ideas.

However, where I'd be exited to be involved, is having a really light
weight web app that would be used for accessing email. A lot of the
existing options I've seen are pretty heavy, so I avoided going down
that route. I could definitely see myself installing that on my mail
server, or merging that code base into my existing server management
platform.

Kind regards,
Samuel

···

On 26 March 2017 at 20:16, Philip Rhoades <phil@pricom.com.au> wrote:

Samuel,

On 2017-03-26 14:44, Samuel Williams wrote:

Hi Everyone,

I've just released the next major version of Utopia, source available
at GitHub - socketry/utopia: A content-centric Ruby/Rack based web framework.

It's a content-centric web framework for Ruby. It's fast (native ragel
parsers) multi-threaded (concurrent-ruby for internal caches,
rack-freeze for safety) and it's used in production for several years
now. It's semantically close to being what I'd consider my ideal web
framework for content-centric websites and applications.

I'd love to have (good and constructive) feedback about Utopia.
Additionally, I've waited until 2.x to announce the framework, because
during 1.x there were a lot of churn (by design). Feel free to ask any
questions and if you choose to use Utopia for your next project let me
know! If you try it out and it's not what you expect, feel free to hit
me up, I'll be interested to understand your use case, and perhaps
improve the documentation.

Kind regards,
Samuel

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

I posted this on the Rails list recently but got no response: "Really simple
Webmail client - sensible on Rails?" - I am wondering if Utopia might be a
worth investigating for the job? So far I have a working, basic Rails page
simply printing IMAP IDs and Subjects for the INBOX . .

The background in that post was:

I run a RoundCubeMail Webmail server on Fedora 25 x86_64 and this works out
very nicely for me wherever I am using a desktop computer with large screen
as a client but the Android RoundCubeMail app is terrible and other mail
apps are no good for various reasons. I am think of building a really
simple, server-based, Webmail client - just to read mail in the INBOX
initially - and if that works out OK - enhancing the client to:

- read other Maildir folders

then:

- add a reply / forward mail option

then:

- add other features in priority order

I was thinking the display of messages would be really simple page listing
of the mails on the web page where I could open individual mails for
reading.

Also, that some RAM-based DB could be used for storing the messages (read
from the Maildir folder) - which would just disappear on logout or get
recreated on changing folders.

Do people think this viable / worth doing? Is there a simpler solution? If
it is worth doing, I would just put the code up on GitLab to try and get
some other people interested in further development.

What do you think? - is Utopia a sensible option?

Thanks,

Phil.
--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au

Hello,

I have being this burden of relishing above the impediments posed by Windows 10. To be more specific, the most recent stable version of Ruby(2.4.*), it's interpreter won't work...Does anyone have an idea on easing this burden while maintaining the same operating system...
I'm aware a lot of folks bask in the realm of Linux/Unix & am not Linux guy

···

Sent from my Windows Phone
________________________________
From: Samuel Williams<mailto:space.ship.traveller@gmail.com>
Sent: ‎26/‎03/‎2017 10:47
To: phil@pricom.com.au<mailto:phil@pricom.com.au>
Cc: Ruby users<mailto:ruby-talk@ruby-lang.org>
Subject: Re: [ANN] Utopia - a rack based web framework

Hi Philip,

Not only is Utopia suitable, but it would be a great platform for your
project. I'm not biased at all :stuck_out_tongue:

In particular, Utopia was built with the idea of making discrete
distributable web applications. An example of this would be
GitHub - oriontransfer/financier: A web-based business management platform. which is a small business
management system/invoicing system. Keep in mind that code is using
utopia 1.x so there are some minor differences in the actual code to
be aware of if you were using it as a reference at this time. It will
be updated soon though.

Additionally, Utopia doesn't include any business logic/model
framework like Rails does with ActiveRecord (although you could and we
do in some production deployments use Utopia with ActiveRecord). This
reduces the surface area of the framework and keeps it focused. You
can drop in some specific model e.g.
GitHub - ktheory/maildir: A ruby library for reading & writing messages in the maildir format or perhaps talk directly to the
server using IMAP (e.g.
http://www.ombulabs.com/blog/ruby/imap/a-comprehensive-guide-to-interacting-with-imap-using-ruby.html\).
If you used IMAP, you probably wouldn't need any specific database or
in-memory representation.

I think it's a good idea. Using Utopia would be sensible. But, there
would also be other frameworks that would make sense. Hanami is
growing in popularity, Sinatra is another good one. I think the one
difference is that I've tried to make Utopia as internally consistent
and opinionated as possible, within the bounds of what I see as being
the fundamental/necessary building blocks of a web application.
Additionally, all these building blocks within Utopia are exposed at a
high level using Rack middleware. If something in Utopia doesn't suit
your taste, you can replace it. The boundaries between the various
middleware are well defined within Utopia. Rack is the common
foundation on which Utopia builds, but this isn't so much the case
with other web frameworks, including Rails, Hanami and Sinatra. I
think using Rack as the foundation has helped ensure that Utopia
middleware has clean internal boundaries.

I actually have a small server platform which manages Dovecot/Postfix
for my own personal mail server, written in Utopia. It's primarily
focused around provisioning new accounts, and server management,
rather than access to email. I'd be happy to make that available.
While it's a bit tangential to what you are doing, it might give you
some ideas.

However, where I'd be exited to be involved, is having a really light
weight web app that would be used for accessing email. A lot of the
existing options I've seen are pretty heavy, so I avoided going down
that route. I could definitely see myself installing that on my mail
server, or merging that code base into my existing server management
platform.

Kind regards,
Samuel

On 26 March 2017 at 20:16, Philip Rhoades <phil@pricom.com.au> wrote:

Samuel,

On 2017-03-26 14:44, Samuel Williams wrote:

Hi Everyone,

I've just released the next major version of Utopia, source available
at GitHub - socketry/utopia: A content-centric Ruby/Rack based web framework.

It's a content-centric web framework for Ruby. It's fast (native ragel
parsers) multi-threaded (concurrent-ruby for internal caches,
rack-freeze for safety) and it's used in production for several years
now. It's semantically close to being what I'd consider my ideal web
framework for content-centric websites and applications.

I'd love to have (good and constructive) feedback about Utopia.
Additionally, I've waited until 2.x to announce the framework, because
during 1.x there were a lot of churn (by design). Feel free to ask any
questions and if you choose to use Utopia for your next project let me
know! If you try it out and it's not what you expect, feel free to hit
me up, I'll be interested to understand your use case, and perhaps
improve the documentation.

Kind regards,
Samuel

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

I posted this on the Rails list recently but got no response: "Really simple
Webmail client - sensible on Rails?" - I am wondering if Utopia might be a
worth investigating for the job? So far I have a working, basic Rails page
simply printing IMAP IDs and Subjects for the INBOX . .

The background in that post was:

I run a RoundCubeMail Webmail server on Fedora 25 x86_64 and this works out
very nicely for me wherever I am using a desktop computer with large screen
as a client but the Android RoundCubeMail app is terrible and other mail
apps are no good for various reasons. I am think of building a really
simple, server-based, Webmail client - just to read mail in the INBOX
initially - and if that works out OK - enhancing the client to:

- read other Maildir folders

then:

- add a reply / forward mail option

then:

- add other features in priority order

I was thinking the display of messages would be really simple page listing
of the mails on the web page where I could open individual mails for
reading.

Also, that some RAM-based DB could be used for storing the messages (read
from the Maildir folder) - which would just disappear on logout or get
recreated on changing folders.

Do people think this viable / worth doing? Is there a simpler solution? If
it is worth doing, I would just put the code up on GitLab to try and get
some other people interested in further development.

What do you think? - is Utopia a sensible option?

Thanks,

Phil.
--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au

Samuel,

Hi Philip,

Not only is Utopia suitable, but it would be a great platform for your
project. I'm not biased at all :stuck_out_tongue:

In particular, Utopia was built with the idea of making discrete
distributable web applications. An example of this would be
https://github.com/ioquatix/financier which is a small business
management system/invoicing system. Keep in mind that code is using
utopia 1.x so there are some minor differences in the actual code to
be aware of if you were using it as a reference at this time. It will
be updated soon though.

Additionally, Utopia doesn't include any business logic/model
framework like Rails does with ActiveRecord (although you could and we
do in some production deployments use Utopia with ActiveRecord). This
reduces the surface area of the framework and keeps it focused. You
can drop in some specific model e.g.
https://github.com/ktheory/maildir or perhaps talk directly to the
server using IMAP (e.g.
http://www.ombulabs.com/blog/ruby/imap/a-comprehensive-guide-to-interacting-with-imap-using-ruby.html\).
If you used IMAP, you probably wouldn't need any specific database or
in-memory representation.

I think it's a good idea. Using Utopia would be sensible. But, there
would also be other frameworks that would make sense. Hanami is
growing in popularity, Sinatra is another good one. I think the one
difference is that I've tried to make Utopia as internally consistent
and opinionated as possible, within the bounds of what I see as being
the fundamental/necessary building blocks of a web application.
Additionally, all these building blocks within Utopia are exposed at a
high level using Rack middleware. If something in Utopia doesn't suit
your taste, you can replace it. The boundaries between the various
middleware are well defined within Utopia. Rack is the common
foundation on which Utopia builds, but this isn't so much the case
with other web frameworks, including Rails, Hanami and Sinatra. I
think using Rack as the foundation has helped ensure that Utopia
middleware has clean internal boundaries.

I actually have a small server platform which manages Dovecot/Postfix
for my own personal mail server, written in Utopia. It's primarily
focused around provisioning new accounts, and server management,
rather than access to email. I'd be happy to make that available.
While it's a bit tangential to what you are doing, it might give you
some ideas.

However, where I'd be exited to be involved, is having a really light
weight web app that would be used for accessing email. A lot of the
existing options I've seen are pretty heavy, so I avoided going down
that route. I could definitely see myself installing that on my mail
server, or merging that code base into my existing server management
platform.

OK, sounds good! I got my little ruby script that runs as a CLI program working and then modified that to work inside a Rails view - and then accidentally deleted the Rails dir! So maybe that was a sign . . I will have a look at Utopia when I get back home in a few days. If you were interested, I could send my working Ruby script to you so you can see the first stage of what I am trying to achieve . .

Thanks!

Phil.

···

On 2017-03-26 20:46, Samuel Williams wrote:

Kind regards,
Samuel

On 26 March 2017 at 20:16, Philip Rhoades <phil@pricom.com.au> wrote:

Samuel,

On 2017-03-26 14:44, Samuel Williams wrote:

Hi Everyone,

I've just released the next major version of Utopia, source available
at GitHub - socketry/utopia: A content-centric Ruby/Rack based web framework.

It's a content-centric web framework for Ruby. It's fast (native ragel
parsers) multi-threaded (concurrent-ruby for internal caches,
rack-freeze for safety) and it's used in production for several years
now. It's semantically close to being what I'd consider my ideal web
framework for content-centric websites and applications.

I'd love to have (good and constructive) feedback about Utopia.
Additionally, I've waited until 2.x to announce the framework, because
during 1.x there were a lot of churn (by design). Feel free to ask any
questions and if you choose to use Utopia for your next project let me
know! If you try it out and it's not what you expect, feel free to hit
me up, I'll be interested to understand your use case, and perhaps
improve the documentation.

Kind regards,
Samuel

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

I posted this on the Rails list recently but got no response: "Really simple
Webmail client - sensible on Rails?" - I am wondering if Utopia might be a
worth investigating for the job? So far I have a working, basic Rails page
simply printing IMAP IDs and Subjects for the INBOX . .

The background in that post was:

I run a RoundCubeMail Webmail server on Fedora 25 x86_64 and this works out
very nicely for me wherever I am using a desktop computer with large screen
as a client but the Android RoundCubeMail app is terrible and other mail
apps are no good for various reasons. I am think of building a really
simple, server-based, Webmail client - just to read mail in the INBOX
initially - and if that works out OK - enhancing the client to:

- read other Maildir folders

then:

- add a reply / forward mail option

then:

- add other features in priority order

I was thinking the display of messages would be really simple page listing
of the mails on the web page where I could open individual mails for
reading.

Also, that some RAM-based DB could be used for storing the messages (read
from the Maildir folder) - which would just disappear on logout or get
recreated on changing folders.

Do people think this viable / worth doing? Is there a simpler solution? If
it is worth doing, I would just put the code up on GitLab to try and get
some other people interested in further development.

What do you think? - is Utopia a sensible option?

Thanks,

Phil.
--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au

--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au

Do not hijack threads. Start a new post on your own.

···

On Mar 26, 2017, 12:46 -0700, Olasunkanmi Bakare <jibomaxx@hotmail.com>, wrote:

Hello,

I have being this burden of relishing above the impediments posed by Windows 10. To be more specific, the most recent stable version of Ruby(2.4.*), it's interpreter won't work...Does anyone have an idea on easing this burden while maintaining the same operating system...
I'm aware a lot of folks bask in the realm of Linux/Unix & am not Linux guy

Sent from my Windows Phone
From: Samuel Williams (mailto:space.ship.traveller@gmail.com)
Sent: ‎26/‎03/‎2017 10:47
To: phil@pricom.com.au (mailto:phil@pricom.com.au)
Cc: Ruby users (mailto:ruby-talk@ruby-lang.org)
Subject: Re: [ANN] Utopia - a rack based web framework

Hi Philip,

Not only is Utopia suitable, but it would be a great platform for your
project. I'm not biased at all :stuck_out_tongue:

In particular, Utopia was built with the idea of making discrete
distributable web applications. An example of this would be
GitHub - oriontransfer/financier: A web-based business management platform. which is a small business
management system/invoicing system. Keep in mind that code is using
utopia 1.x so there are some minor differences in the actual code to
be aware of if you were using it as a reference at this time. It will
be updated soon though.

Additionally, Utopia doesn't include any business logic/model
framework like Rails does with ActiveRecord (although you could and we
do in some production deployments use Utopia with ActiveRecord). This
reduces the surface area of the framework and keeps it focused. You
can drop in some specific model e.g.
GitHub - ktheory/maildir: A ruby library for reading & writing messages in the maildir format or perhaps talk directly to the
server using IMAP (e.g.
http://www.ombulabs.com/blog/ruby/imap/a-comprehensive-guide-to-interacting-with-imap-using-ruby.html\).
If you used IMAP, you probably wouldn't need any specific database or
in-memory representation.

I think it's a good idea. Using Utopia would be sensible. But, there
would also be other frameworks that would make sense. Hanami is
growing in popularity, Sinatra is another good one. I think the one
difference is that I've tried to make Utopia as internally consistent
and opinionated as possible, within the bounds of what I see as being
the fundamental/necessary building blocks of a web application.
Additionally, all these building blocks within Utopia are exposed at a
high level using Rack middleware. If something in Utopia doesn't suit
your taste, you can replace it. The boundaries between the various
middleware are well defined within Utopia. Rack is the common
foundation on which Utopia builds, but this isn't so much the case
with other web frameworks, including Rails, Hanami and Sinatra. I
think using Rack as the foundation has helped ensure that Utopia
middleware has clean internal boundaries.

I actually have a small server platform which manages Dovecot/Postfix
for my own personal mail server, written in Utopia. It's primarily
focused around provisioning new accounts, and server management,
rather than access to email. I'd be happy to make that available.
While it's a bit tangential to what you are doing, it might give you
some ideas.

However, where I'd be exited to be involved, is having a really light
weight web app that would be used for accessing email. A lot of the
existing options I've seen are pretty heavy, so I avoided going down
that route. I could definitely see myself installing that on my mail
server, or merging that code base into my existing server management
platform.

Kind regards,
Samuel

On 26 March 2017 at 20:16, Philip Rhoades <phil@pricom.com.au> wrote:
> Samuel,
>
>
>
> On 2017-03-26 14:44, Samuel Williams wrote:
>>
>> Hi Everyone,
>>
>> I've just released the next major version of Utopia, source available
>> at GitHub - socketry/utopia: A content-centric Ruby/Rack based web framework.
>>
>> It's a content-centric web framework for Ruby. It's fast (native ragel
>> parsers) multi-threaded (concurrent-ruby for internal caches,
>> rack-freeze for safety) and it's used in production for several years
>> now. It's semantically close to being what I'd consider my ideal web
>> framework for content-centric websites and applications.
>>
>> I'd love to have (good and constructive) feedback about Utopia.
>> Additionally, I've waited until 2.x to announce the framework, because
>> during 1.x there were a lot of churn (by design). Feel free to ask any
>> questions and if you choose to use Utopia for your next project let me
>> know! If you try it out and it's not what you expect, feel free to hit
>> me up, I'll be interested to understand your use case, and perhaps
>> improve the documentation.
>>
>> Kind regards,
>> Samuel
>>
>> Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
>> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;
>
>
>
> I posted this on the Rails list recently but got no response: "Really simple
> Webmail client - sensible on Rails?" - I am wondering if Utopia might be a
> worth investigating for the job? So far I have a working, basic Rails page
> simply printing IMAP IDs and Subjects for the INBOX . .
>
> The background in that post was:
>
> I run a RoundCubeMail Webmail server on Fedora 25 x86_64 and this works out
> very nicely for me wherever I am using a desktop computer with large screen
> as a client but the Android RoundCubeMail app is terrible and other mail
> apps are no good for various reasons. I am think of building a really
> simple, server-based, Webmail client - just to read mail in the INBOX
> initially - and if that works out OK - enhancing the client to:
>
> - read other Maildir folders
>
> then:
>
> - add a reply / forward mail option
>
> then:
>
> - add other features in priority order
>
> I was thinking the display of messages would be really simple page listing
> of the mails on the web page where I could open individual mails for
> reading.
>
> Also, that some RAM-based DB could be used for storing the messages (read
> from the Maildir folder) - which would just disappear on logout or get
> recreated on changing folders.
>
> Do people think this viable / worth doing? Is there a simpler solution? If
> it is worth doing, I would just put the code up on GitLab to try and get
> some other people interested in further development.
>
> What do you think? - is Utopia a sensible option?
>
> Thanks,
>
> Phil.
> --
> Philip Rhoades
>
> PO Box 896
> Cowra NSW 2794
> Australia
> E-mail: phil@pricom.com.au

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

Hi Philip,

do you use Controller and View dirs like Rails? - otherwise do you have a "Hello World"-type eg you could share?

The structure of utopia is much more organic. For an example, see

If you just use utopia site create as outlined in the documentation it
will create a very basic site for you and work out of the box. Would
love to have your feedback on this process.

Kind regards,
Samuel

···

On 29 March 2017 at 10:41, Philip Rhoades <phil@pricom.com.au> wrote:

Samuel,

On 2017-03-27 16:51, Samuel Williams wrote:

Looks interesting, you could wrap this into a controller and then
display the results in a view, pretty easily.

I will probably be going home tomorrow so I will look at this Thu night or
Fri - do you use Controller and View dirs like Rails? - otherwise do you
have a "Hello World"-type eg you could share?

As well, I sent you another note about a potential app for my brother - not
sure if you have seen the note or note . .

Thanks,

Phil.

On 27 March 2017 at 12:03, Philip Rhoades <phil@pricom.com.au> wrote:

Samuel,

A quick response with an attachment - I will be away for a few days now
but
should be able to get mail at least . .

P.

On 2017-03-27 07:36, Samuel Williams wrote:

Sure, perhaps just make a git repository and I can take a look at what
you are doing?

On 27 March 2017 at 01:56, Philip Rhoades <phil@pricom.com.au> wrote:

Samuel,

On 2017-03-26 20:46, Samuel Williams wrote:

Hi Philip,

Not only is Utopia suitable, but it would be a great platform for your
project. I'm not biased at all :stuck_out_tongue:

In particular, Utopia was built with the idea of making discrete
distributable web applications. An example of this would be
GitHub - oriontransfer/financier: A web-based business management platform. which is a small business
management system/invoicing system. Keep in mind that code is using
utopia 1.x so there are some minor differences in the actual code to
be aware of if you were using it as a reference at this time. It will
be updated soon though.

Additionally, Utopia doesn't include any business logic/model
framework like Rails does with ActiveRecord (although you could and we
do in some production deployments use Utopia with ActiveRecord). This
reduces the surface area of the framework and keeps it focused. You
can drop in some specific model e.g.
GitHub - ktheory/maildir: A ruby library for reading & writing messages in the maildir format or perhaps talk directly to the
server using IMAP (e.g.

http://www.ombulabs.com/blog/ruby/imap/a-comprehensive-guide-to-interacting-with-imap-using-ruby.html\).
If you used IMAP, you probably wouldn't need any specific database or
in-memory representation.

I think it's a good idea. Using Utopia would be sensible. But, there
would also be other frameworks that would make sense. Hanami is
growing in popularity, Sinatra is another good one. I think the one
difference is that I've tried to make Utopia as internally consistent
and opinionated as possible, within the bounds of what I see as being
the fundamental/necessary building blocks of a web application.
Additionally, all these building blocks within Utopia are exposed at a
high level using Rack middleware. If something in Utopia doesn't suit
your taste, you can replace it. The boundaries between the various
middleware are well defined within Utopia. Rack is the common
foundation on which Utopia builds, but this isn't so much the case
with other web frameworks, including Rails, Hanami and Sinatra. I
think using Rack as the foundation has helped ensure that Utopia
middleware has clean internal boundaries.

I actually have a small server platform which manages Dovecot/Postfix
for my own personal mail server, written in Utopia. It's primarily
focused around provisioning new accounts, and server management,
rather than access to email. I'd be happy to make that available.
While it's a bit tangential to what you are doing, it might give you
some ideas.

However, where I'd be exited to be involved, is having a really light
weight web app that would be used for accessing email. A lot of the
existing options I've seen are pretty heavy, so I avoided going down
that route. I could definitely see myself installing that on my mail
server, or merging that code base into my existing server management
platform.

OK, sounds good! I got my little ruby script that runs as a CLI
program
working and then modified that to work inside a Rails view - and then
accidentally deleted the Rails dir! So maybe that was a sign . . I
will
have a look at Utopia when I get back home in a few days. If you were
interested, I could send my working Ruby script to you so you can see
the
first stage of what I am trying to achieve . .

Thanks!

Phil.

Kind regards,
Samuel

On 26 March 2017 at 20:16, Philip Rhoades <phil@pricom.com.au> wrote:

Samuel,

On 2017-03-26 14:44, Samuel Williams wrote:

Hi Everyone,

I've just released the next major version of Utopia, source
available
at GitHub - socketry/utopia: A content-centric Ruby/Rack based web framework.

It's a content-centric web framework for Ruby. It's fast (native
ragel
parsers) multi-threaded (concurrent-ruby for internal caches,
rack-freeze for safety) and it's used in production for several
years
now. It's semantically close to being what I'd consider my ideal web
framework for content-centric websites and applications.

I'd love to have (good and constructive) feedback about Utopia.
Additionally, I've waited until 2.x to announce the framework,
because
during 1.x there were a lot of churn (by design). Feel free to ask
any
questions and if you choose to use Utopia for your next project let
me
know! If you try it out and it's not what you expect, feel free to
hit
me up, I'll be interested to understand your use case, and perhaps
improve the documentation.

Kind regards,
Samuel

Unsubscribe:
<mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

I posted this on the Rails list recently but got no response: "Really
simple
Webmail client - sensible on Rails?" - I am wondering if Utopia might
be
a
worth investigating for the job? So far I have a working, basic
Rails
page
simply printing IMAP IDs and Subjects for the INBOX . .

The background in that post was:

I run a RoundCubeMail Webmail server on Fedora 25 x86_64 and this
works
out
very nicely for me wherever I am using a desktop computer with large
screen
as a client but the Android RoundCubeMail app is terrible and other
mail
apps are no good for various reasons. I am think of building a
really
simple, server-based, Webmail client - just to read mail in the INBOX
initially - and if that works out OK - enhancing the client to:

- read other Maildir folders

then:

- add a reply / forward mail option

then:

- add other features in priority order

I was thinking the display of messages would be really simple page
listing
of the mails on the web page where I could open individual mails for
reading.

Also, that some RAM-based DB could be used for storing the messages
(read
from the Maildir folder) - which would just disappear on logout or
get
recreated on changing folders.

Do people think this viable / worth doing? Is there a simpler
solution?
If
it is worth doing, I would just put the code up on GitLab to try and
get
some other people interested in further development.

What do you think? - is Utopia a sensible option?

Thanks,

Phil.
--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au

--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au

--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au

--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au

After reading my previous email, I wasn't very clear about answering
your question:

Models and general code go in lib/

Controllers go in pages/**/controller.rb

For more documentation, usage, see the included documentation wiki.