Announcement: Ringo a high level application framework

206 views
Skip to first unread message

Torsten Irländer

unread,
Jan 1, 2015, 1:59:02 PM1/1/15
to pylons-...@googlegroups.com
Hi all,

I just wanted to let you know about a little pyramid based project I worked on
the last couple of months:

Ringo. A high level web application framework (yet another). See
http://ringo-dev.intevation.de/ for more information.

Maybe this is of any use for someone here. Your feedback is
highly appreciated!

I struggled with me to find the right moment to make this project a little bit
more public and finally thought the
first of 2015 might be a good date to come out of my programmers cave. :) 
However, there is still many work waiting and dark places in the code which 
need to be enlighten.

Please excuse me for using this list for the first official announcement of the
Ringo project, but as it is based on the great Pyramid framework I though you
guys should be the first to get noticed. 

Torsten

Steve Piercy

unread,
Jan 1, 2015, 2:28:23 PM1/1/15
to pylons-...@googlegroups.com
Hi Torsten,

Ringo looks like it could be classified as one of the "Sample
Pyramid Development Environments"
http://docs.pylonsproject.org/en/latest/docs/pyramid.html#sample-pyramid-development-environments

If you submit a pull request which includes a one-sentence
description of Ringo, I'll review it. Here's the repository to
push commits to.
https://github.com/Pylons/pylonsrtd/blob/master/docs/pyramid.rst

Thank you!

--steve


On 1/1/15 at 10:59 AM, tor...@irlaender.de (Torsten Irländer) pronounced:
------------------------
Steve Piercy, Soquel, CA

Torsten Irländer

unread,
Jan 1, 2015, 4:09:25 PM1/1/15
to pylons-...@googlegroups.com
Steve, thanks for your offer to mention Ringo in the Pyramid docs.
I just created a pull request.

Torsten

Steve Piercy

unread,
Jan 1, 2015, 4:25:25 PM1/1/15
to pylons-...@googlegroups.com
For the record, this is not the Pyramid documentation. This
page is an *entry point* to the Pyramid documentation and a few
other things from the Pylons Project website/GitHub repo "pylonsrtd".

We're working on fixing this all too common point of confusion.
https://groups.google.com/d/msg/pylons-discuss/vhQuxp-TNX4/K_zg_FwYMh8J

--steve


On 1/1/15 at 1:09 PM, tor...@irlaender.de (Torsten Irländer) pronounced:

>Steve, thanks for your offer to mention Ringo in the Pyramid docs.
>I just created a pull request.
>
>Torsten
>
>Am Donnerstag, 1. Januar 2015 20:28:23 UTC+1 schrieb Steve Piercy:
>>
>>Hi Torsten,
>>Ringo looks like it could be classified as one of the "Sample
>>Pyramid Development Environments"
>>
>http://docs.pylonsproject.org/en/latest/docs/pyramid.html#sample-pyramid-development-
>environments
>>
>>If you submit a pull request which includes a one-sentence
>>description of Ringo, I'll review it. Here's the repository
>>to push commits to. https://github.com/Pylons/pylonsrtd/blob/master/docs/pyramid.rst
>>Thank you!
>>--steve
>>
>>On 1/1/15 at 10:59 AM, tor...@irlaender.de <javascript:>

tamgo...@gmail.com

unread,
Jan 2, 2015, 7:25:17 PM1/2/15
to pylons-...@googlegroups.com
Hi, this looks very nice, but I am not able to get it running - the instructions in the 'get started' section of the website do not get me started, unfortunately.

First, I get

 error: invalid command 'development'

remembering several other pyramid tutorials I tried to use

 python setup.py develop

this seems to work, following the instructions I do

 pcreate -t ringo foo

I then cd into foo, not foobar (this seems to be wrong in the instructions). However, there is no foo-admin.

Hinted by the django similarity of your approach and from looking into ~/.pyenv/versions/2.7.9/bin I got the idea this should be

 ringo-admin

but this gives me an error (see full traceback below):

 ImportError: /home/xxx/.local/lib/python2.7/site-packages/lxml/etree.so: undefined symbol: PyUnicodeUCS4_DecodeLatin1

Argh, an unicode error, no, please not that kind of problems... I am giving up here for today.

I think I have to write about my experiences with several other pyramid based projects here. I have had similar problems with kotti and ptah in the recent past. I hope writing about it here will not be seen as ranting, but may give you an insight about the newcomer perspective. 

I looked at pyramid and was extremely satisfied, this really looks like the best way to build websites (for me) after some years of experience with several other (non-python) frameworks. I am really deeply impressed about the approaches taken with pyramid and the extensive documentation, everything I see sets a really very high quality standard. However, after some playing around of course I came to the point of not wanting to reinvent all the wheels, not only because I am a lazy dog, but because of the fear of doing things wrong. Especially all things security, like permissions, user signup and forms I really would like to build on something battletested, so I was starting to look into the several things that are out there and build up on pyramid, like kotti and ptah, and now ringo.

The most significant experiences with these have been that I was not able to get them running.

What is frustrating: I read a little bit into the sources, but I was not able to solve the problems. And what was even more frustrating was the knowledge, that this all is not some deeply involved hardcore hacker stuff that I am not understanding, it is all packaging and version isolation problems on the surface, so I feel like some little thing is keeping me away from usig all that great stuff because, of course, I can not build a real website with anything that throws errors I can not solve.

So after reading lots of pyramid docs, studying sqlalchemy and several form libraries and trying to find the best way to handle user registrations and password issues I am now hitting the wall with "stupid little things" that all have to do with the setup process and the python environment.

Yes, I know, I have to study every detail the python setup end deployment environment and understand the effects it produces in different python versions or what it means to use pyenv vs. vritualenvs and how this could hit me on setting up different webserver environments - I still did not do it, as it looked like "some periphal knowledge about the setup process that will not be so problematic" - it turnes out that it is the main problem I have now and I feel like I can not use all these great tools at my hands because of not knowing about this basic setup things.

Ok, I know this is all my fault not studying all the details about the python setup process (BORING!) - but to make it a little bit more constructive I would like to ask all you great developers out there: please test your setup instructions, especially the ones on page one, manually and test them in a "fresh" python environment, test them with pyenv and several python versions, test them on a stock debian and ubuntu with system python, and please always link to the relevant knowledge about the setup process - please avoid magic that does not work.

BTW unfortunately the wild history of python packaging leads to many irrelevant and misleading information on the web, so it is totally ok to link to the really needed information.

I am now trying to dig into http://pythonhosted.org//setuptools/setuptools.html to better understand all that problems, but this is a real torture. I would rather just like to use this stuff and have it working, sigh...

Thanks for your attention,
Tam

[1] Full traceback of ringo-admin:

Traceback (most recent call last):
  File "/home/xxx/.pyenv/versions/2.7.9/bin/ringo-admin", line 9, in <module>
    load_entry_point('ringo==0.17.0', 'console_scripts', 'ringo-admin')()
  File "/home/xxx/Dev/Python/pyramid-ringo/ringo-hg/ringo/scripts/admin.py", line 221, in main
    args.func(args)
  File "/home/xxx/Dev/Python/pyramid-ringo/ringo-hg/ringo/scripts/db.py", line 140, in handle_db_init_command
    handle_db_upgrade_command(args)
  File "/home/xxx/Dev/Python/pyramid-ringo/ringo-hg/ringo/scripts/db.py", line 144, in handle_db_upgrade_command
    cfg = get_alembic_config(args)
  File "/home/xxx/Dev/Python/pyramid-ringo/ringo-hg/ringo/scripts/db.py", line 132, in get_alembic_config
    app_config = get_appsettings(args.config)
  File "/home/xxx/.local/lib/python2.7/site-packages/pyramid/paster.py", line 53, in get_appsettings
    global_conf=options)
  File "/home/xxx/.local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 261, in appconfig
    global_conf=global_conf)
  File "/home/xxx/.local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/home/xxx/.local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 320, in _loadconfig
    return loader.get_context(object_type, name, global_conf)
  File "/home/xxx/.local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 454, in get_context
    section)
  File "/home/xxx/.local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 476, in _context_from_use
    object_type, name=use, global_conf=global_conf)
  File "/home/xxx/.local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 406, in get_context
    global_conf=global_conf)
  File "/home/xxx/.local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/home/xxx/.local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 328, in _loadegg
    return loader.get_context(object_type, name, global_conf)
  File "/home/xxx/.local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 620, in get_context
    object_type, name=name)
  File "/home/xxx/.local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 646, in find_egg_entry_point
    possible.append((entry.load(), protocol, entry.name))
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2184, in load
    ['__name__'])
  File "/home/xxx/Dev/Python/pyramid-ringo/foo/foo/__init__.py", line 6, in <module>
    from ringo.config import setup_modules
  File "/home/xxx/Dev/Python/pyramid-ringo/ringo-hg/ringo/config.py", line 14, in <module>
    from ringo.views.base import (
  File "/home/xxx/Dev/Python/pyramid-ringo/ringo-hg/ringo/views/base/__init__.py", line 28, in <module>
    from ringo.views.base.print_ import (
  File "/home/xxx/Dev/Python/pyramid-ringo/ringo-hg/ringo/views/base/print_.py", line 3, in <module>
    from py3o.template import Template
  File "build/bdist.linux-x86_64/egg/py3o/template/__init__.py", line 6, in <module>
  File "build/bdist.linux-x86_64/egg/py3o/template/main.py", line 6, in <module>
ImportError: /home/xxx/.local/lib/python2.7/site-packages/lxml/etree.so: undefined symbol: PyUnicodeUCS4_DecodeLatin1


Torsten Irländer

unread,
Jan 3, 2015, 2:57:23 AM1/3/15
to pylons-...@googlegroups.com

Hi first thanks for your feedback. I am.sorry that it did not work out for you yet. I will look into it this evening and will write a littlebit more on this.

Torsten

--
You received this message because you are subscribed to a topic in the Google Groups "pylons-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/pylons-discuss/v1JosQgO9OQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pylons-discus...@googlegroups.com.
To post to this group, send email to pylons-...@googlegroups.com.
Visit this group at http://groups.google.com/group/pylons-discuss.
For more options, visit https://groups.google.com/d/optout.

Steve Piercy

unread,
Jan 3, 2015, 4:51:38 AM1/3/15
to pylons-...@googlegroups.com
I completely agree. Most problems come from just getting
started, and getting it right is not easy or simple. For
example, the "Installing Pyramid" documentation page has 16
contributors and 70 commits over 4 years to reach its current
state. That's a lot of time and effort.
https://github.com/Pylons/pyramid/blob/master/docs/narr/install.rst

Every "getting started" guide should always include system
requirements with references for how to fulfill those
requirements. System requirements include:

* Operating system
* Python version
* Python interpreter
* package manager (setuptools or pip, but do not use both)
* virtualenv or pyvenv
* setting an environment variable to the path of the virtual environment
* whether or not to activate the virtual environment (Pyramid
documentation currently prefers NOT to activate the virtual
environment, and instead use the aforementioned environment variable)
* clone repo, if necessary

Once you have explained all those things in your "getting
started" guide, making sure every bit is flipped into perfect
alignment with each other (also known as cosmic and planetary
alignment), then and only then should you install the package
and its dependencies, e.g. `$VENV/bin/easy_install "pyramid==1.5.2"`.

------------

Here are instructions that worked for me. I usually follow the
"Pyramid way for newbies", if there is such a thing, when
installing stuff.

I already have installed Python 2.7 (and several other versions,
too) on Mac OS X from python.org, as well as setuptools
installed system wide.

I first forked the original repo of ringo to my own repo, so
that I could push commits and send pull requests to the author.
It's a good way to give them feedback, too, by suggesting
improvements. I started with the "quick start" guide at the URL:
http://ringo-dev.intevation.de/
...and heavily modified it so that it would work.

cd ~/projects
# clone my fork
hg clone ssh://h...@bitbucket.org/stevepiercy/ringo
cd ringo
# set an environment variable to the virtual environment to be created
export e=~/projects/ringo/env
# create a virtual environment using the system python version
2.7 at location $e
virtualenv -p /usr/local/bin/python $e
# do NOT activate the virtual env, instead invoking all commands
by their explicit path
# install ringo and its dependencies
$e/bin/python setup.py develop
# create a ringo app using a scaffold
$e/bin/pcreate -t ringo myfoo
cd myfoo
# install myfoo and its dependencies
$e/bin/python setup.py develop
# initialize and create the db for myfoo-admin
$e/bin/myfoo-admin db init
# add a module (note the English misspelling in the command)
$e/bin/myfoo-admin modul add bar
# start the server
$e/bin/pserve --reload development.ini

And I now have a working ringo.

Aside from the "getting started" documentation issues, I'm very
happy to see a new SQL-based GUI admin to build web applications
on top of Pyramid.

Finally, the patient folks on IRC in #pyramid are very helpful
in pointing folks in the right direction. They've helped me
tremendously to understand the essentials of all that system
requirements stuff.

--steve


On 1/2/15 at 4:25 PM, tamgo...@gmail.com pronounced:

Torsten Irländer

unread,
Jan 3, 2015, 3:04:42 PM1/3/15
to pylons-...@googlegroups.com
2015-01-03 1:25 GMT+01:00 <tamgo...@gmail.com>:
Hi, this looks very nice, but I am not able to get it running - the instructions in the 'get started' section of the website do not get me started, unfortunately.

Sorry for the inconvenience but as Steve already noticed there are some flaws with the documentation. I have updated the documentation a little bit and hope it will work for you now if the hints from Steve did not help to get a working ringo application anyway. However the instructions there are still tested on my working environment and not in a fresh one. I will catch up this soon.

 ImportError: /home/xxx/.local/lib/python2.7/site-packages/lxml/etree.so: undefined symbol: PyUnicodeUCS4_DecodeLatin1

Argh, an unicode error, no, please not that kind of problems... I am giving up here for today. 

Ok, never saw this one before. If this error is still happing after you tried to reinstall ringo following the new instructions please give me a note and I will file an issue for this one to get my hands on it.
 
I think I have to write about my experiences with several other pyramid based projects here. I have had similar problems with kotti and ptah in the recent past. I hope writing about it here will not be seen as ranting, but may give you an insight about the newcomer perspective. 

I looked at pyramid and was extremely satisfied, this really looks like the best way to build websites (for me) after some years of experience with several other (non-python) frameworks. I am really deeply impressed about the approaches taken with pyramid and the extensive documentation, everything I see sets a really very high quality standard.
 
That is fine and there is no reason why you should change your opinion on pyramid :)

However, after some playing around of course I came to the point of not wanting to reinvent all the wheels, not only because I am a lazy dog, but because of the fear of doing things wrong. Especially all things security, like permissions, user signup and forms I really would like to build on something battletested, so I was starting to look into the several things that are out there and build up on pyramid, like kotti and ptah, and now ringo.

:) Thats exactly the reason why I wrote such a thing like ringo. But please note: The whole things has been written by only one person: Me. And I am far away from calling me an expert. However it works out for me quite good but the code could be much better - the documentation too. But feed back like yours helps me to improve it.

The most significant experiences with these have been that I was not able to get them running.

What is frustrating: I read a little bit into the sources, but I was not able to solve the problems. And what was even more frustrating was the knowledge, that this all is not some deeply involved hardcore hacker stuff that I am not understanding, it is all packaging and version isolation problems on the surface, so I feel like some little thing is keeping me away from usig all that great stuff because, of course, I can not build a real website with anything that throws errors I can not solve.

Thanks for sharing your experiences and expectations. I am sorry that your first steps in the pyramid world were a little bit frustrating when it comes to get some pyramid based software running. I will take this as incentive to make my part here as good as possible in the future. All those framework utilize pyramid as their base and they all come with their own way how things work. For someone who is new into pyramid this isn't probably the easiest start.

Ok, I know this is all my fault not studying all the details about the python setup process (BORING!) - but to make it a little bit more constructive I would like to ask all you great developers out there: please test your setup instructions, especially the ones on page one, manually and test them in a "fresh" python environment, test them with pyenv and several python versions, test them on a stock debian and ubuntu with system python, and please always link to the relevant knowledge about the setup process - please avoid magic that does not work.

No. IMHO it not your fault not studying the details on python setup process. It is the fault of the author of the software not providing working instructions on installations for people like you. 

Torsten

Torsten Irländer

unread,
Jan 3, 2015, 3:17:51 PM1/3/15
to pylons-...@googlegroups.com
Steve,
Thanks for helping here and sharing your steps to get a working Ringo application! Good to see that people give it a try and actually get it running:)

I have revised the documentation. Please note that the documentation was missing an important step:

After creating a new module the generated migrations script needs to be applied to prepare the database and create tables and some entries in various tables.

I see room for much more improvement and I am currently working on further improvements and bugfixes. To stay in touch with the current ringo development you can follow the RingoFramework Twitter account on

Torsten



--
You received this message because you are subscribed to a topic in the Google Groups "pylons-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/pylons-discuss/v1JosQgO9OQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pylons-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to pylons-discuss@googlegroups.com.

Bert JW Regeer

unread,
Jan 3, 2015, 4:36:58 PM1/3/15
to pylons-...@googlegroups.com

> On Jan 2, 2015, at 17:25 , tamgo...@gmail.com wrote:
>
> Hi, this looks very nice, but I am not able to get it running - the instructions in the 'get started' section of the website do not get me started, unfortunately.
>
> First, I get
>
> error: invalid command 'development'
>
> remembering several other pyramid tutorials I tried to use
>
> python setup.py develop
>
> this seems to work, following the instructions I do
>
> pcreate -t ringo foo
>
> I then cd into foo, not foobar (this seems to be wrong in the instructions). However, there is no foo-admin.
>
> Hinted by the django similarity of your approach and from looking into ~/.pyenv/versions/2.7.9/bin I got the idea this should be
>
> ringo-admin
>
> but this gives me an error (see full traceback below):
>
> ImportError: /home/xxx/.local/lib/python2.7/site-packages/lxml/etree.so: undefined symbol: PyUnicodeUCS4_DecodeLatin1

This error is not something that is happening due to Ringo, this is because your etree.so is compiled against a different python version. Verify your installation of etree.
> --
> You received this message because you are subscribed to the Google Groups "pylons-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to pylons-discus...@googlegroups.com.
> To post to this group, send email to pylons-...@googlegroups.com.

Laurent DAVERIO

unread,
Jan 3, 2015, 4:51:14 PM1/3/15
to pylons-...@googlegroups.com
Hi,

I gave it a try, too. MacOS X 10.10, Python 2.7.9 from MacPorts.
Everything worked fine.

> pcreate -t ringo foo

The doc says "pcreate -t ringo Foo" ("Foo" with a capital "F").

You have to remember that the filesystem on a Mac is case-insensitive
(but case-remembering). So, "foo-admin" and "Foo-admin" would be the
same on a Mac, but "foo-admin" wouldn't exist on e.g. Ubuntu Linux.

I believe the initial instructions were created on a Mac, because I saw
Omnigraffle files (a Mac-specific drawing app) when I did the "hg clone"
yesterday.

> ImportError:
> /home/xxx/.local/lib/python2.7/site-packages/lxml/etree.so: undefined
> symbol: PyUnicodeUCS4_DecodeLatin1

I believe it depends on whether Python was compiled with UCS2 or UCS4
Unicode strings. In that particular case, I suppose UCS2 was chosen. I
compiled lxml a number of times (on FreeBSD, Linuxes and OS X, and never
came across that error)

Anyway, anything went fine for me, I was able to launch the app, and
from there I didn't know where to go... :D

Laurent.

PS: I have my own development environment too, but I'm afraid it's not
ready for prime time...

Torsten Irländer

unread,
Jan 4, 2015, 8:27:18 AM1/4/15
to pylons-...@googlegroups.com
Hi,

I gave it a try, too. MacOS X 10.10, Python 2.7.9 from MacPorts.
Everything worked fine.

 Great! Thanks for your feedback and congratulation, you are the first official MacOS user of Ringo :) If there is anyone else who want to be the first one on other OS too then go for it. There are plenty options left ;)

>  pcreate -t ringo foo

The doc says "pcreate -t ringo Foo" ("Foo" with a capital "F").

You have to remember that the filesystem on a Mac is case-insensitive
(but case-remembering). So, "foo-admin" and "Foo-admin" would be the
same on a Mac, but "foo-admin" wouldn't exist on e.g. Ubuntu Linux.

Thank your for the hint but I can not confirm this. This also works for me on Ubuntu Linux. Internal the lowercase Version of the application name will be used.
 
I believe the initial instructions were created on a Mac, because I saw
Omnigraffle files (a Mac-specific drawing app) when I did the "hg clone"
yesterday.

No. It was some Linux System. Which files do you mean?


>  ImportError:
> /home/xxx/.local/lib/python2.7/site-packages/lxml/etree.so: undefined
> symbol: PyUnicodeUCS4_DecodeLatin1

I believe it depends on whether Python was compiled with UCS2 or UCS4
Unicode strings. In that particular case, I suppose UCS2 was chosen. I
compiled lxml a number of times (on FreeBSD, Linuxes and OS X, and never
came across that error)

Ah again thanks for helping here out! Unfortunately lxml is a dependency of iirc py3o.template which I need for a nice printing feature in ringo. A planed to replace it as the xml part does not seems to be that difficult. But as always: There is simply to much work for too less time. But this dependency is actually somewhat annoying.
 
Anyway, anything went fine for me, I was able to launch the app, and
from there I didn't know where to go... :D

That's fine. Did you follow the instructions on the webpage or the ones from Steve?
Did the creation of the modul work for you? There is currently a issue with that which i noticed in the instructions.) Do you seethe created module entry on the header menu of your application after logging.

The next step is to add fields to the module to actually save something useful and build a nice form for it. This is described in the documentation:


This is quite easy and you can develop the form and model on the fly. Modify the form definition, reload the page, do some changes and if you are finally ready generate the model and apply the migration to actually safe things in the database. For me this is one of the most helpful parts of ringo. You should give it a try :)

If you or anyone else is interested in trying out more things I like to help you of course. I expect there will be some points which need to be better explained or are missing at all in the documentation.

As I did not want to spam the pylons-discuss group here with ringo related things more than necessary you can either contact me on my private email or (even better) subscribe to the new created group:  https://groups.google.com/forum/#!forum/ringo-framework

PS: I have my own development environment too, but I'm afraid it's not
ready for prime time...

:) Release often and release early. That the slogan often related to FOSS. But I can understand you :) I was, and I am also afraid to make it public.

Torsten

Torsten Irländer

unread,
Jan 4, 2015, 8:28:58 AM1/4/15
to pylons-...@googlegroups.com
2015-01-03 22:36 GMT+01:00 Bert JW Regeer <xist...@0x58.com>:

> On Jan 2, 2015, at 17:25 , tamgo...@gmail.com wrote:

> but this gives me an error (see full traceback below):
>
>  ImportError: /home/xxx/.local/lib/python2.7/site-packages/lxml/etree.so: undefined symbol: PyUnicodeUCS4_DecodeLatin1

This error is not something that is happening due to Ringo, this is because your etree.so is compiled against a different python version. Verify your installation of etree.

Thanks for your help Bert. 
 

Laurent DAVERIO

unread,
Jan 4, 2015, 9:13:31 AM1/4/15
to pylons-...@googlegroups.com
> Great! Thanks for your feedback and congratulation, you are the first
> official MacOS user of Ringo :) If there is anyone else who want to be
> the first one on other OS too then go for it. There are plenty options
> left ;)

OK, first on FreeBSD too, then ;)
More precisely, FreeBSD 9.3-RELEASE for amd64, and python 2.7.9.

> I believe the initial instructions were created on a Mac, because I saw
> Omnigraffle files (a Mac-specific drawing app) when I did the "hg clone"
> yesterday.
> >
> No. It was some Linux System. Which files do you mean?

I'm not 100% sure, but I think I noticed one *.graffle file during the
"hg clone". But maybe it was in the "develop" phase, and I saw it in
another module...

> Ah again thanks for helping here out! Unfortunately lxml is a dependency
> of iirc py3o.template which I need for a nice printing feature in ringo.
> A planed to replace it as the xml part does not seems to be that
> difficult. But as always: There is simply to much work for too less
> time. But this dependency is actually somewhat annoying.

Personally I use lxml very often, either directly (especially the xpath
function) or indirectly (e.g. via BeautifulSoup), and I like it :) It's
supposed to rely on the libxml2 C++ libraries, which provide
high-quality, high-performance processing of XML and HTML files :)

> That's fine. Did you follow the instructions on the webpage or the ones
> from Steve?

From the webpage, http://ringo-dev.intevation.de/

> Did the creation of the modul work for you? There is currently a issue
> with that which i noticed in the instructions.) Do you seethe created
> module entry on the header menu of your application after logging.

No particular issue, meaning creation worked, and the app still runs,
but I can't see the bar module. So it seems it didn't work after all...
(just tested on FreeBSD).

> The next step is to add fields to the module to actually save something
> useful and build a nice form for it. This is described in the documentation:
>
> http://ringo.readthedocs.org/en/latest/development.html#adding-new-fields-to-the-model

Thanks, I'll have a look at it :)

> PS: I have my own development environment too, but I'm afraid it's not
> ready for prime time...
>
> :) Release often and release early. That the slogan often related to
> FOSS. But I can understand you :) I was, and I am also afraid to make it
> public.

I tried to integrate different services, as in other dev environments:

- Users, groups and permissions, of course (loosely based on the tutorial)
- Bootstrap CSS/JS,
- "Utility" languages - Sass stylesheets, Jade templates (thanks to
Fanstatic)
- localisation (via Babel/Lingua), including in Jade templates
- Lots of dogpile caching (python code, rendered HTML, SQLAlchemy
queries, etc.)
- Through-the-web editable content
- Form generation/validation (Colander, Deform)
- Solr indexing (not light, but nothing beats it, I suppose)
- Static resources handled by Fanstatic (providing bundling,
precompilers, minification, etc.)
- An e-commerce module provides the basis for building e-shops

Currently I'm runing into a few issues, among which :

- Some of my localisation modules are not compatible with Pyramid 1.5,
I'm "stuck" with 1.4 for the moment.
- The platform is dependent on PostgreSQL, because I used some advanced
data types such as Arrays and Hstores (for extended attributes indexed
by Solr). I'd like to have a "lite" version able to run e.g. on a
Raspberry Pi with SQLite, and without Solr...

Hopefully I'll find time to fix these issues in the coming months...

Laurent.

Torsten Irländer

unread,
Jan 4, 2015, 9:58:33 AM1/4/15
to pylons-...@googlegroups.com
2015-01-04 15:13 GMT+01:00 Laurent DAVERIO <ldav...@gmail.com>:
>  Great! Thanks for your feedback and congratulation, you are the first
> official MacOS user of Ringo :) If there is anyone else who want to be
> the first one on other OS too then go for it. There are plenty options
> left ;)

OK, first on FreeBSD too, then ;)
More precisely, FreeBSD 9.3-RELEASE for amd64, and python 2.7.9.

Thank you again Ringo pioneer ;)
 

>     I believe the initial instructions were created on a Mac, because I saw
>     Omnigraffle files (a Mac-specific drawing app) when I did the "hg clone"
>     yesterday.
> >
> No. It was some Linux System. Which files do you mean?

I'm not 100% sure, but I think I noticed one *.graffle file during the
"hg clone". But maybe it was in the "develop" phase, and I saw it in
another module...

I think so, I am not aware of any graffle files. 

> That's fine. Did you follow the instructions on the webpage or the ones
> from Steve?

From the webpage, http://ringo-dev.intevation.de/

> Did the creation of the modul work for you? There is currently a issue
> with that which i noticed in the instructions.) Do you seethe created
> module entry on the header menu of your application after logging.

No particular issue, meaning creation worked, and the app still runs,
but I can't see the bar module. So it seems it didn't work after all...
(just tested on FreeBSD).

Narf! There is currently an issue with migrating after adding a new modul: 

I will work on this with high priority and hope its ok for you to get it working using the described workaround.

> The next step is to add fields to the module to actually save something
> useful and build a nice form for it. This is described in the documentation:
>
http://ringo.readthedocs.org/en/latest/development.html#adding-new-fields-to-the-model

Thanks, I'll have a look at it :)

So not hesitate to contact me in case of any questions.
Those issues should not pretend you from making it public. There will be always those things into it.

Torsten

Reply all
Reply to author
Forward
0 new messages