Questions about Tortuga

1 view
Skip to first unread message

Lee Olayvar

unread,
Nov 12, 2008, 9:34:27 AM11/12/08
to tortuga...@googlegroups.com
1.) I saw in a recent post of yours talk about "Checkpoint". Is this the official version control system Tortuga will use? If so, where can i get ahold of the mentioned beta so i can learn it, and what was the reason for making a custom VCS rather than using an established one such as Git or Bzr?

2.) When the Tortuga code is released (in alpha, or whatever stage) will you be working in a fully public manner, accepting help etc? I'm only asking because currently it is closed source, so to say.

Thanks,
---
Lee Olayvar

Jorge Vargas

unread,
Nov 12, 2008, 10:12:56 AM11/12/08
to tortuga...@googlegroups.com
On Wed, Nov 12, 2008 at 8:34 AM, Lee Olayvar <leeol...@gmail.com> wrote:
> 1.) I saw in a recent post of yours talk about "Checkpoint". Is this the
> official version control system Tortuga will use? If so, where can i get
> ahold of the mentioned beta so i can learn it, and what was the reason for
> making a custom VCS rather than using an established one such as Git or Bzr?
>
cause checkpoint is more more efficient handling binary data, at least
that's waht it claims.
http://pypi.python.org/pypi/Checkpoint/0.1b2

> 2.) When the Tortuga code is released (in alpha, or whatever stage) will you
> be working in a fully public manner, accepting help etc? I'm only asking
> because currently it is closed source, so to say.
>

/me will also like to know

> Thanks,
> ---
> Lee Olayvar
>
> >
>

Ian Charnas

unread,
Nov 12, 2008, 1:09:24 PM11/12/08
to tortuga...@googlegroups.com
Lee, thanks for writing.

On Wed, Nov 12, 2008 at 9:34 AM, Lee Olayvar <leeol...@gmail.com> wrote:
> 1.) I saw in a recent post of yours talk about "Checkpoint". Is this the
> official version control system Tortuga will use? If so, where can i get
> ahold of the mentioned beta so i can learn it, and what was the reason for
> making a custom VCS rather than using an established one such as Git or Bzr?

I hope to clear up the confusion about this. I'm using SVN for
development. Checkpoint doesn't do source-code versioning at all,
it's more like Apple's "time machine" software. I wish there was a
good term to use to describe Tortuga instead of "File Versioning
System." Any ideas?

I wanted Tortuga to have a robust "undo" feature. Let's say you log
in and change a webpage, you add a photo and a new caption.... And
then you go over to the homepage and add a new banner image... or
whatever. So you've made two changes, and these are changes to the
database and to the file system (you've added the images there). If
you want to 'undo' that first change, Tortuga will handle the
'undo'ing in the database and Checkpoint will handle the 'undo'ing on
the file system. That's what Checkpoint is for.

Does this clear things up? I really need to come up with a better
description for that project, so there's less confusion.

> 2.) When the Tortuga code is released (in alpha, or whatever stage) will you
> be working in a fully public manner, accepting help etc? I'm only asking
> because currently it is closed source, so to say.

Oh definitely open source! In just a day here I'm about to move my
private repository into the public one, and interested people can
check it out. So far the 'core' is looking amazing, and the web
interface isn't in SVN right now, I want to be able to manage a
website from the python prompt and THEN add the web interface. This
makes it easier to create unit tests, and provides nice code
separation so it's easier to learn the API and to change it. So to
answer your question, wait just a few moments!!!


thanks, -ian

> Thanks,
> ---
> Lee Olayvar
>
> >
>

Jorge Vargas

unread,
Nov 12, 2008, 2:44:39 PM11/12/08
to tortuga...@googlegroups.com
On Wed, Nov 12, 2008 at 12:09 PM, Ian Charnas <ian.c...@gmail.com> wrote:
>
> Lee, thanks for writing.
>
> On Wed, Nov 12, 2008 at 9:34 AM, Lee Olayvar <leeol...@gmail.com> wrote:
>> 1.) I saw in a recent post of yours talk about "Checkpoint". Is this the
>> official version control system Tortuga will use? If so, where can i get
>> ahold of the mentioned beta so i can learn it, and what was the reason for
>> making a custom VCS rather than using an established one such as Git or Bzr?
>
> I hope to clear up the confusion about this. I'm using SVN for
> development. Checkpoint doesn't do source-code versioning at all,
> it's more like Apple's "time machine" software. I wish there was a
> good term to use to describe Tortuga instead of "File Versioning
> System." Any ideas?
>
well given that the term is fussy in itself it's hard, Version Control
System is the best really, how about adding a "binary" in front to
emphasize it, at least to me the description of checkpoint is good
enough, how about calling it a seudo versioning file system?
http://en.wikipedia.org/wiki/Versioning_file_system

> I wanted Tortuga to have a robust "undo" feature. Let's say you log
> in and change a webpage, you add a photo and a new caption.... And
> then you go over to the homepage and add a new banner image... or
> whatever. So you've made two changes, and these are changes to the
> database and to the file system (you've added the images there). If
> you want to 'undo' that first change, Tortuga will handle the
> 'undo'ing in the database and Checkpoint will handle the 'undo'ing on
> the file system. That's what Checkpoint is for.
>

that's is an awesome feature. IMO that's key for the success of the project.

> Does this clear things up? I really need to come up with a better
> description for that project, so there's less confusion.
>
>> 2.) When the Tortuga code is released (in alpha, or whatever stage) will you
>> be working in a fully public manner, accepting help etc? I'm only asking
>> because currently it is closed source, so to say.
>
> Oh definitely open source! In just a day here I'm about to move my
> private repository into the public one, and interested people can
> check it out.

can't wait for that! I want it now ! :p

> So far the 'core' is looking amazing, and the web
> interface isn't in SVN right now, I want to be able to manage a
> website from the python prompt and THEN add the web interface.

that's sweet if it's good enough we may as well just stick with that :)

> This
> makes it easier to create unit tests, and provides nice code
> separation so it's easier to learn the API and to change it. So to
> answer your question, wait just a few moments!!!
>

just wondering are you using webtest? if so I could write some tests
while I check out the source.

Lee Olayvar

unread,
Nov 12, 2008, 10:09:01 PM11/12/08
to tortuga...@googlegroups.com
Very cool, loving what i am hearing!

Have you given any thought to using Git/Bzr? Or on the flipside, is there any specific reason you chose SVN? Distrubuted version control systems seem to be all the rage these days, and i've loved every moment within both bzr and git for multiple projects each.


Anyway, i'll be awaiting anxiously! I'm especially anxious to dig into the plugin side of Tortuga to see how much i can extend, and start developing some things i would be needing.

---
Lee Olayvar

Ian Charnas

unread,
Nov 12, 2008, 10:37:20 PM11/12/08
to tortuga...@googlegroups.com
Yeah I like bzr too, but I like google code's project hosting sooooo
much that I don't mind that they just use SVN.

Lee Olayvar

unread,
Nov 12, 2008, 10:45:30 PM11/12/08
to tortuga...@googlegroups.com
Ah yes, that i can agree with. While i do think Launchpad is better, for some reason they cannot seem to maintain their servers for anything.. often it is so slow its unbearable.

---
Lee Olayvar

Ian Charnas

unread,
Nov 12, 2008, 10:50:55 PM11/12/08
to tortuga...@googlegroups.com
The thing I don't like about Launchpad is that I have to type in like
30 fields to open a ticket. I don't want to see that many options. I
realize that the reason they implemented that ticket tracker was to
maintain a linux distribution, and so it's necessarily very
complicated... but over in Google code hosting I only have to fill out
one or two fields.

Anyways, that's just my opinion! Let's move this discussion off-list
if you want to continue.

thanks,
ian

Lee Olayvar

unread,
Nov 13, 2008, 8:33:07 PM11/13/08
to tortuga...@googlegroups.com
What repository will you be posting it at? (ie, what googlecode project?) I've been spam checking this group all day haha. Perhaps friday it'll be posted?

---
Lee Olayvar

Ian Charnas

unread,
Nov 13, 2008, 11:00:44 PM11/13/08
to tortuga...@googlegroups.com
I'll post something tomorrow. Thanks for your patience!

Lee Olayvar

unread,
Nov 15, 2008, 12:37:40 PM11/15/08
to tortuga...@googlegroups.com
I'm liking what i see! Following with the questions..

1.) What exactly is a gadget in relation to Tortuga? I find mention of gadgets in relation to Turbogears but surprisingly not many references (perhaps my terminology is off).

2.) How much of the PEP8 will the core be following? Namely the 79 Character limit? (I realize its late to start changing/talking styles, but it would be even later .. later .. ;) )

3.) How are plugins playing into this? I forget when.. or where i read this, but i recall mention of Tortuga (Well, Pagoda, specifically) having no "special" plugins. That is, tortuga itself just provides api functionality while plugins, even the ones provided with tortuga, would actually implement on that functionality. A tried a true concept. With that said though, i am having trouble understanding where plugins are playing into the core? (Unless they are bing called gadgets)

4.) Probably too much for version 1, but do you intend to implement the core functionality of being able to create content types with custom attributes through the user interface? An example would be a vacation location blog post. Where the user may want to blog about one or more locations. To achieve this, they would have a content type of "Location Blog" that has a single line text field for the blogger to enter the location that the blog is about. Separate from the body of the message.

Do you expect this to be part of tortugas abilities? Or would this be something implemented by users as a plugin?



Loving the work done so far, thanks for releasing it! On a side note i've created a #tortugacms channel on freenode, for whatever reason.

Thanks,
---
Lee Olayvar

Ian Charnas

unread,
Nov 15, 2008, 2:52:27 PM11/15/08
to tortuga...@googlegroups.com
Lee, thank you!

On Sat, Nov 15, 2008 at 12:37 PM, Lee Olayvar <leeol...@gmail.com> wrote:
> I'm liking what i see! Following with the questions..
>
> 1.) What exactly is a gadget in relation to Tortuga? I find mention of
> gadgets in relation to Turbogears but surprisingly not many references
> (perhaps my terminology is off).

Good question. If you check out this LightCMS demo:
http://www.speaklight.com/video-your-designs
You'll see they have "Regions" in templates where you can place "Elements".

Tortuga is using the same popular concept, which is found in many
CMS's, only we're calling it Containers and Gadgets. You specify a
Container in your template, and then when you're editing your website
you drag and drop Gadgets (like 'basic content' or 'news feed' or
'photo gallery') into the Containers.

> 2.) How much of the PEP8 will the core be following? Namely the 79 Character
> limit? (I realize its late to start changing/talking styles, but it would be
> even later .. later .. ;) )

Oh I want to follow all of PEP8 plus a few additional minor things.
Currently some comments may extend past the 79 character limit, I'll
be fixing that.

> 3.) How are plugins playing into this? I forget when.. or where i read this,
> but i recall mention of Tortuga (Well, Pagoda, specifically) having no
> "special" plugins. That is, tortuga itself just provides api functionality
> while plugins, even the ones provided with tortuga, would actually implement
> on that functionality. A tried a true concept. With that said though, i am
> having trouble understanding where plugins are playing into the core?
> (Unless they are bing called gadgets)

A plugin will have hooks to "do stuff" on startup and shutdown, and
hooks for the search system, etc. It can also define Gadgets. So a
Gadget would be a part of a plugin. I haven't documented how to write
a plugin, that will come after the render engine and other things are
completed. But to give you a hint, between the "Cathedral and the
Bazaar" development models, I like things right in the middle. When I
document what I want the plugin framework to look like, it will be
open for public comment. Lastly, Tortuga will come with a set of
"Supported" plugins (basic content, news feeds, photo galleries,
calendar, tags, comments, etc) and it will be easy for developers to
make their own.

> 4.) Probably too much for version 1, but do you intend to implement the core
> functionality of being able to create content types with custom attributes
> through the user interface? An example would be a vacation location blog
> post. Where the user may want to blog about one or more locations. To
> achieve this, they would have a content type of "Location Blog" that has a
> single line text field for the blogger to enter the location that the blog
> is about. Separate from the body of the message.

Oh, sort of like a TTWTypes thing from Plone? The thought has crossed
my mind, but I've never seen a regular non-techie person use those
with any success - and my personal goal for this project is to make a
CMS that's so easy that my clients will actually be able to use it.

> Do you expect this to be part of tortugas abilities? Or would this be
> something implemented by users as a plugin?

I wouldn't expect this to be a supported plugin, but there's nothing
stopping you from developing this. I'll be available for questions.

> Loving the work done so far, thanks for releasing it! On a side note i've
> created a #tortugacms channel on freenode, for whatever reason.

Cool, thanks. Once we get more of the Core done I'll start hanging
out in there. Thanks!

Lee Olayvar

unread,
Nov 15, 2008, 3:27:28 PM11/15/08
to tortuga...@googlegroups.com
On Sat, Nov 15, 2008 at 11:52 AM, Ian Charnas <ian.c...@gmail.com> wrote:

Oh I want to follow all of PEP8 plus a few additional minor things.
Currently some comments may extend past the 79 character limit, I'll
be fixing that.
Awesome :). I wasn't specifically asking for you to "fix what isn't pep8", but rather just enquiring to the future of Tortuga's PEP8 compliance. Glad to see PEP8 is supported here :)


A plugin will have hooks to "do stuff" on startup and shutdown, and
hooks for the search system, etc.  It can also define Gadgets.  So a
Gadget would be a part of a plugin.  I haven't documented how to write
a plugin, that will come after the render engine and other things are
completed.  But to give you a hint, between the "Cathedral and the
Bazaar" development models, I like things right in the middle.  When I
document what I want the plugin framework to look like, it will be
open for public comment.   Lastly, Tortuga will come with a set of
"Supported" plugins (basic content, news feeds, photo galleries,
calendar, tags, comments, etc) and it will be easy for developers to
make their own.
Righto :), I eagerly await that bit of code hehe (Though, i eagerly await everything.. :p). I enjoy the hook model though, very useful.
 

Oh, sort of like a TTWTypes thing from Plone?  The thought has crossed
my mind, but I've never seen a regular non-techie person use those
with any success - and my personal goal for this project is to make a
CMS that's so easy that my clients will actually be able to use it.

Never used plone, but from my standpoint i am referring to the "Content Construction Kit" in Drupal. You can add all sorts of forms, with the database types those forms add to, etc. As far as normal users using them, well im not sure how much that happens. They do however, allow for heavy flexibility during the creation of a website.

Between this idea of modifying content types, and the "Views" plugin from Drupal (Which allows you to create custom queries for things like "displaying last 5 blog posts", etc), you can get so many things. Eg, many (if not most) people in Drupal actually dont bother with image gallery plugins, but rather a combination of CCK & Views (and some image api plugins). Personally i think they are a bit of a standard.

Though, they are very complex beasts, allowing for very powerful things, so i realize that this most likely wont make it into v1.0.

I do however, want to put the seed in your brain. I fear putting effort into a blog plugin, a forum plugin, a gallery plugin, only to have what is essentially "CCK & Views" come up in the near future and make blogs/forums/gallery plugins a wasted effort.

Just food for thought :)

Thanks,
Lee

Lee Olayvar

unread,
Nov 15, 2008, 3:44:17 PM11/15/08
to tortuga...@googlegroups.com
I spose the point i am getting at with the custom content types, is that with a good core of code, you can essentially get any number of functional content types from it. Blogs, Gallerys, Forums, Comments, etc. Then by providing forums with tortuga, all that would be done is essentially just providing a preset, and not much (if any) specific forum code. Generality :)

---
Lee Olayvar

Ian Charnas

unread,
Nov 15, 2008, 5:54:50 PM11/15/08
to tortuga...@googlegroups.com
Lee, thanks for your comments.

Sami Dalouche

unread,
Nov 15, 2008, 5:55:31 PM11/15/08
to tortuga...@googlegroups.com
Just a message to say that I am quite happy to see many references to
other CMSs (LightCMS,Plone, etc) because it gives me the feeling that
the author(s) (Ian and Lee, right ?) of tortuga have enough background
about what currently exists on the market to actually create the best
CMS out there :)

It usually makes me laugh when I hear people talking about creating a
"generic", "versatile", "plugin-based" product without prior knowledge
of the domain ;-) the end result usually ends up being a crappy API with
tons of hacks everywhere, passing maps all over the place, that is
neither suited for complex nor simple tasks ;p

I took a quick look at the code examples availble on the SVN repository
and everything feels smooth. I have never worked with any CMS out there
because I feel like they all suck, but tortuga is definitely on my
radar :)

keep up the good work, guys !
Sami Dalouche

Lee Olayvar

unread,
Nov 15, 2008, 7:09:58 PM11/15/08
to tortuga...@googlegroups.com
Just food for thought, thats all :), i am by no means attempting to sway any decisions you've made about your product :). Just lots to talk about, hehe

---
Lee Olayvar

Ian Charnas

unread,
Nov 15, 2008, 11:12:36 PM11/15/08
to tortuga...@googlegroups.com
Sami, thanks for the notes. I am the only developer on the project
right now, but yourself and Lee and others are more than welcome to
participate! It will probably be easier once we get to the phase
where we're writing plugins.
-ian

Lee Olayvar

unread,
Nov 15, 2008, 11:32:49 PM11/15/08
to tortuga...@googlegroups.com

On Sat, Nov 15, 2008 at 8:12 PM, Ian Charnas <ian.c...@gmail.com> wrote:

Sami, thanks for the notes.  I am the only developer on the project
right now, but yourself and Lee and others are more than welcome to
participate!  It will probably be easier once we get to the phase
where we're writing plugins.
-ian


How far off do you think that is by the way? You've laid a rough description of the plan (rendering first), but are you thinking about 3/4 weeks? Not asking for a deadline ofcourse, just getting a ballpark :)


---
Lee Olayvar


Ian Charnas

unread,
Nov 15, 2008, 11:37:59 PM11/15/08
to tortuga...@googlegroups.com
Oh, I'd give it a month.

Chris B - JK at asciiking dot com

unread,
Nov 17, 2008, 12:19:16 AM11/17/08
to tortuga-coders

> I do however, want to put the seed in your brain. I fear putting effort into
> a blog plugin, a forum plugin, a gallery plugin, only to have what is
> essentially "CCK & Views" come up in the near future and make
> blogs/forums/gallery plugins a wasted effort.

From what's been exposed of the API so far, I think that implementing
a basic Social Networking Software suite in Tortuga might be so
trivial as to be the topic of a tutorial like TurboGear's "20 Minute
Wiki". Call it the 30 Minute Shout Box:

- Build the data structure.
- Display a single shout.
- Add/Edit shouts.
- Show a paginated view.
- Hints for adding different content types.

I've been sweating bullets trying to find a developer partner to work
on SNS for TG2 up until now. It would be great to find someone
interested in implementing some of the ideas that I've blogged about,
especially groups that duplicate organic social structures through
rich inheritance, but I'm not worried about the learning curve being
the limiting factor anymore.

Thanks, Ian. This is great stuff.

Chris

Reply all
Reply to author
Forward
0 new messages