WANTED: need a real web API for rubyforge.org


#1

I just released version 1.0.2 of the rubyforge command line client. It
sucks. We could do a lot better. In particular, we really need a real
API for rubyforge, not a web scraper. It is too error prone.

It would need to support everything the current command line client
supports (basically: login, logout, add group, add package, add
release + some project data gathering) and conform to gforge’s schema.

Is anyone up for the task?


#2

Ryan D. escreveu:

Ryan, I´m in!
I really like to participate and help in everything you need.
Regards,

  • tiago nogueira

#3

On Jan 5, 5:43 pm, Ryan D. removed_email_address@domain.invalid wrote:

I just released version 1.0.2 of the rubyforge command line client. It
sucks. We could do a lot better. In particular, we really need a real
API for rubyforge, not a web scraper. It is too error prone.

It would need to support everything the current command line client
supports (basically: login, logout, add group, add package, add
release + some project data gathering) and conform to gforge’s schema.

Is anyone up for the task?

How do you plan to implement this? I’ve thought about too. I believe
GForge provides a SOAP-based API, but I’m not sure Rubyforge is up to
date with the latest and greatest. (Not to mention yuk! SOAP). I’ve
suggested to Tom C. that the current rubyforge gem code could be
converted into a server side REST API, although obviously that’s not
ideal. So I am curious as to what you have in mind.

Going further. Doesn’t it seem like it’s about time for Rubyforge to
run on Ruby?


#4

Trans escreveu:

Is anyone up for the task?
run on Ruby?

Trans wrote:

“…Going further. Doesn’t it seem like it’s about time for Rubyforge to
run on Ruby?”

And i agree !

  • tiago nogueira

#5

On Mon, Jan 5, 2009 at 5:43 PM, Ryan D. removed_email_address@domain.invalid
wrote:

I just released version 1.0.2 of the rubyforge command line client. It
sucks. We could do a lot better. In particular, we really need a real API
for rubyforge, not a web scraper. It is too error prone.

It would need to support everything the current command line client supports
(basically: login, logout, add group, add package, add release + some
project data gathering) and conform to gforge’s schema.

Is anyone up for the task?

Though we haven’t really advertised it yet, the source for RubyForge
itself (which is indeed almost entirely GForge) is now up on
RubyForge:

http://support.rubyforge.org/svn/trunk/support/gforge402/

This might help those interested in integrating such a feature.

-greg


#6

On Tue, Jan 6, 2009 at 6:08 AM, Tiago N. removed_email_address@domain.invalid
wrote:
\

Trans wrote:

“…Going further. Doesn’t it seem like it’s about time for Rubyforge to
run on Ruby?”
And i agree !

Yeah, you guys get started on that. And when you have a very stable,
broadly appealing project that you’re willing to maintain and help Tom
manage serverside, come talk to us at RubyForge.

(100% serious, though it may sound snarky :wink:

-greg


#7

Gregory B. escreveu:

Yeah, you guys get started on that. And when you have a very stable,
broadly appealing project that you’re willing to maintain and help Tom
manage serverside, come talk to us at RubyForge.

(100% serious, though it may sound snarky :wink:

-greg

Ok. I’m here waiting for instructions sir :slight_smile:
-tiago


#8

On Wed, Jan 7, 2009 at 11:07 AM, Tiago N.
removed_email_address@domain.invalid wrote:

Ok. I’m here waiting for instructions sir :slight_smile:

we would need a system with comparable functionality that can run on
our hardware and be generally preferred by the community.
If you are serious about working on such a thing, I’ll put you in
touch with Tom, and he could fill you in on the details.

But this has come up about 1000 times before. I was even one of the
people who suggested it in the past. :wink:

-greg


#9

Gregory B. escreveu:

But this has come up about 1000 times before. I was even one of the
people who suggested it in the past. :wink:

-greg

Greg , i’m really talking serious. I really want to contribuite with our
community and i have time every night to dedicate
and to do it.
:slight_smile:
-tiago


#10

On Wed, Jan 7, 2009 at 10:07 AM, Tiago N.
removed_email_address@domain.invalid wrote:

Ok. I’m here waiting for instructions sir :slight_smile:

If you are serious…

Basically:

  1. Create a Ruby clone of Trac (http://trac.edgewall.org/)
    1.1. Make it easy to support multiple independent projects.
    1.2. Don’t waste time supporting SVN, go for Git from the start

By this point you have an issue tracker (which doubles as a project
manager tool) and a wiki, both hooked up to a RCS, which provides
source browsing. Look at Basecamp for inspiration.

  1. Integrate this with a documentation browsing tool.
  2. Add some sort of peer review system.

By this point you’ve got something akin to CPAN.

  1. Add mailing list / forum support.

By this point, you are 90% done, I’d say.

Very roughly, that’s about it,

Marcelo


#11

On Wed, Jan 7, 2009 at 9:08 AM, Marcelo removed_email_address@domain.invalid
wrote:

  1. Create a Ruby clone of Trac (http://trac.edgewall.org/)

There already is one in RedMine.

1.1. Make it easy to support multiple independent projects.

RedMine does.

1.2. Don’t waste time supporting SVN, go for Git from the start

What? No.

Here’s the problem with converting RubyForge from GForge to something
written in Ruby… you can’t take features away, because they’re all
in use. That means that whatever gets written needs to support CVS,
SVN and Git. It needs to have integrated forums and mailing lists
with management for both. It needs a news system, bug trackers and a
file release system and a built-in gem indexer/server. It needs wikis
and web space, file download and scm statistics.

This is an extremely difficult problem to solve. GForge is a very
complex piece of software used by tons of people whose needs all need
to be balanced. I feel pretty strongly that anything other than a
feature-for-feature clone is doomed to failure, and then we’ll have
nothing.

Ben


#12

Gregory B. escreveu:

It’s great that you want to contribute to the community, but unless
least temporarily). There are other bigger, wider holes to be filled.

-greg

Greg ,
I know exactly what i want and i want to contribute with this big cause
:slight_smile:
-tiago


#13

On Wed, Jan 7, 2009 at 11:38 AM, Tiago N.
removed_email_address@domain.invalid wrote:

Greg , i’m really talking serious. I really want to contribuite with our
community and i have time every night to dedicate
and to do it.

I’ve pinged Tom. He should either join in here, or send you an email
directly.

It’s great that you want to contribute to the community, but unless
this is a need that is really, really, important to you, there are
lots of other worthy projects that aren’t at the level of ‘would be
nice’, but instead at the level of ‘really, really important’. I
won’t be one to judge which are which generally, but my point is there
is software out there that needs to exist for Ruby that hasn’t even
been started. There is also a lot of code out there that needs to be
ported to 1.9 if we plan to move forward as a community.

I do think there is significant merit in making our central project
repository top notch, but github has really filled in the gap (at
least temporarily). There are other bigger, wider holes to be filled.

-greg


#14

Would it be worthwhile to consider Redmine (http://www.redmine.org)?
It’s
pretty much a Ruby clone of Trac and supports Git. Not sure if it does
1.1,
2, or 3, but I know it has at least part of 4 (forum support).


Bryan


#15

Hi,

On Jan 7, 10:58 am, “Bryan R.” removed_email_address@domain.invalid wrote:

Would it be worthwhile to consider Redmine (http://www.redmine.org)? It’s
pretty much a Ruby clone of Trac and supports Git. Not sure if it does 1.1,
2, or 3, but I know it has at least part of 4 (forum support).

Remine 0.8.0 supports CVS, SVN, Mercurial, Bazaar, Darcs and Git.

The best approach, in my opinion, is to:

  1. Register http://www.rubyforge2.org using Redmine.
  2. Encourage people to register their projects there instead of the
    current system.
  3. After about 6 months, if all goes well, ban new project creation on
    the current Rubyforge (though leaving everything else intact).
  4. Strongly encourage people to migrate their projects over to the new
    system.
  5. After 3 (4, 5?) years, shut down the old RubyForge, making
    rubyforge2.org an alias for rubyforge.org.

I don’t think there’s any hope of “migrating” projects from the
current system to Redmine, though. Perhaps as a paid service, but
while tickets might be easy, mailing list archives and wiki
information would be especially difficult. Maybe I’m wrong, though.

Anyway, that’s the approach I would take if I were running the show.

Regards,

Dan


#16

On Jan 7, 2009, at 3:10 PM, Trans wrote:

To me GForge seems very dated. I think GitHub is much better example
of the future. It has most of the features developers need.

I’ve really come to feel this way too. There’s definitely more it
could do, but the fact is that I already prefer to work with it.

James Edward G. II


#17

On Jan 7, 12:19 pm, “Ben B.” removed_email_address@domain.invalid wrote:

to be balanced. I feel pretty strongly that anything other than a
feature-for-feature clone is doomed to failure, and then we’ll have
nothing.

To me GForge seems very dated. I think GitHub is much better example
of the future. It has most of the features developers need. In fact,
except for mailing lists I’m not sure one actually needs anything
else. Some of Rubyforge’s features are never used such a Surveys. The
news feature always seemed a bit redundant to me too, why not just
have a ruby-announce mailing list? And some features can be handled
differently, like ticket tracking can be done with Ditz instead of
using a web-based app. Hek, maybe the GitHub people would be willing
to brand a version of their software for an oss only RubyHub? It might
be a good way for them to drive more proprietary business to their
main site and it would rock (IMHO) for the Ruby community.

T.


#18

On Jan 7, 2:10 pm, Trans removed_email_address@domain.invalid wrote:

To me GForge seems very dated. I think GitHub is much better example
of the future. It has most of the features developers need.

I don’t see a way to submit bugs.
I don’t see forums.
I don’t see mailing lists.
I don’t see a way to broadcast announcements.
I don’t see download stats.
I don’t see a way to monitor what new Ruby projects have been created.
I don’t see a way to logically group different, but related, libraries
together.
I don’t see a way to attach external documents.
I don’t see a way to track all of the bugs and feature requests I’ve
submitted on other projects.
I don’t see a place to paste code snippets.

Github, an example of the future? The future isn’t all it’s cracked up
to be apparently.

Dan


#19

On Wed, Jan 7, 2009 at 11:12 AM, Daniel B. removed_email_address@domain.invalid
wrote:

rubyforge2.org an alias for rubyforge.org.
I think this is a terrible idea. The last thing we need is further
division in the community about where projects live. Don’t get me
wrong, I think the spirit is right, but doing it in this manner
makes me uncomfortable.

It would be far better IMO to build a new RubyForge from the ground
up, and when it’s reasonably feature-complete and the community
agrees, migrate over and shut the GForge instance down.

I don’t think there’s any hope of “migrating” projects from the
current system to Redmine, though. Perhaps as a paid service, but
while tickets might be easy, mailing list archives and wiki
information would be especially difficult. Maybe I’m wrong, though.

I don’t necessarily agree that Redmine is the right solution to this
problem, but I believe that any replacement needs to be relatively
transparent… which means everything that’s on RubyForge now needs to
be migrated.

Ben


#20

On Wed, Jan 7, 2009 at 1:10 PM, Trans removed_email_address@domain.invalid wrote:

To me GForge seems very dated. I think GitHub is much better example
of the future. It has most of the features developers need.

I think that GitHub demonstrates many aspects of the model that
RubyForge should head down. I don’t agree that it’s The Future or
should be considered as a potential replacement for RubyForge. For
just one thing, it enforces too much on the user… I like git and use
GitHub, but I also like and use Subversion and have projects that I
don’t want to convert.

In fact, except for mailing lists I’m not sure one actually needs
anything else. Some of Rubyforge’s features are never used such a
Surveys.

Are you sure, though? I have no idea if people use them or not… maybe
nobody does, or the people who do don’t care if they’re removed. The
point I’m trying to make, though, is that it’s better to ask than to
just remove a feature that is assumed to not be in use.

The news feature always seemed a bit redundant to me too, why not just
have a ruby-announce mailing list?

Agreed, and not just because it’s a pain to deal with the news, heh.

And some features can be handled differently, like ticket tracking can
be done with Ditz instead of using a web-based app.

Gross. I don’t want my release system’s bug tracker dropping turds in
my repo. No thanks. Sure, it’s possible, but it’s not a good user
experience for anyone except people who already use it and think it’s
cool.

Hek, maybe the GitHub people would be willing to brand a version of
their software for an oss only RubyHub? It might be a good way for
them to drive more proprietary business to their main site and it
would rock (IMHO) for the Ruby community.

I don’t think anyone wins here. Ruby people can just use GitHub as they
already are.

Ben