Hello,
some comments about all provided options so far:
- google code tracker -- haven't use it at all, going to look a bit at it
- github - maybe I missed some setting, but the issue tracker there
seems to be to simplistic - no way to categorize in bugs or feature requests
- jira - folks at SER used it in the past when we were two projects,
reporting that it was rather buggy to keep using it -- maybe it was just
the version purchased at that time (several years ago). I am not
familiar with its administration at all
- mantis - I have no experience with it to say pro/con opinions. Is the
administration (upgrade, patching) easy enough? Does it support
multi-projects on the same instance?
- redmine - it is the one I use for various needs, therefore I have some
experience with its administration. However, I cannot say that it is a
thing I would like to take care of. It seems to be a bit heavy, I had to
patch it (for some quite basic features such as different email address
for different projects or the body of notification emails -- I have to
say I am not that familiar with it and I may have missed some
plugins/settings)
For self installed app, at this time my preferences would be redmine,
mantis, jira -- a big + to rise the rank in the order would come if
there is going to be someone to commit for the maintenance of either
one. Haven't made my mind for hosted options yet.
More comments? Any other options?
Thanks,
Daniel
On 7/19/11 8:18 PM, Jason Penton wrote:
> +1 for Jira. If you have the resources to setup and manage JIRA then I
> would suggest this too. We use and it is really very good
>
> On Tue, Jul 19, 2011 at 8:05 PM, Alex Balashov
> <abalashov(a)evaristesys.com <mailto:abalashov@evaristesys.com>> wrote:
>
> We have been extremely happy with Mantis as a self-hosted
> approach. It is easy to use, yet has the sophistication and
> flexibility for a needed to manage a project of non-trivial size.
>
> On the other hand, Digium recently moved away from it in favour of
> JIRA for issues.asterisk.org <http://issues.asterisk.org>.
>
> For fairly large projects like this one[1], I have always favoured
> internal hosting of such systems in order to maintain maximum
> control, use optional plugins, make customisations, etc. I think
> that would make the most sense for the SR/Kamailio community.
>
> -- Alex
>
> [1] It's not nearly as large as say, the Linux kernel, but it's
> bigger than 99% of open-source which, after all, consists largely
> of projects done by one person or a few people at most.
>
--
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kathttp://linkedin.com/in/miconda -- http://twitter.com/miconda
Module: sip-router
Branch: master
Commit: 2cbd47c4f9a16ef869efd7830e48a419b3cc1020
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=2cbd47c…
Author: Andreas Granig <agranig(a)sipwise.com>
Committer: Andreas Granig <agranig(a)sipwise.com>
Date: Wed Jul 20 15:54:21 2011 +0200
Add new db option and improve connect mechanism.
Add "db" option to "server" parameter to select the redis db number.
Set 1 sec timeout when connecting to redis server.
Perform "PING" to verify newly created redis connection.
---
modules/ndb_redis/README | 6 ++--
modules/ndb_redis/doc/ndb_redis_admin.xml | 6 ++--
modules/ndb_redis/redis_client.c | 41 ++++++++++++++++++++++-------
3 files changed, 37 insertions(+), 16 deletions(-)
diff --git a/modules/ndb_redis/README b/modules/ndb_redis/README
index 37409c4..8dc695d 100644
--- a/modules/ndb_redis/README
+++ b/modules/ndb_redis/README
@@ -87,15 +87,15 @@ Chapter 1. Admin Guide
Specify the details to connect to REDIS server. It takes a list of
attribute=value separated by semicolon, the attributes can be name,
- addr and port. Name is a genric identifier to be used with module
+ addr, port and db. Name is a generic identifier to be used with module
functions. addr and port are the IP address and the port to connect to
- REDIS server.
+ REDIS server. db is the DB number to use (defaults to 0 if not specified).
Default value is NULL.
Example 1.1. Set server parameter
...
-modparam("ndb_redis", "server", "name=srvN;addr=127.0.0.1;port=6379")
+modparam("ndb_redis", "server", "name=srvN;addr=127.0.0.1;port=6379;db=1")
...
4. Exported Functions
diff --git a/modules/ndb_redis/doc/ndb_redis_admin.xml b/modules/ndb_redis/doc/ndb_redis_admin.xml
index a9609a2..4e2db66 100644
--- a/modules/ndb_redis/doc/ndb_redis_admin.xml
+++ b/modules/ndb_redis/doc/ndb_redis_admin.xml
@@ -64,9 +64,9 @@
<para>
Specify the details to connect to REDIS server. It takes a list of
attribute=value separated by semicolon, the attributes can be
- name, addr and port. Name is a genric identifier to be used with
+ name, addr, port and db. Name is a generic identifier to be used with
module functions. addr and port are the IP address and the port to
- connect to REDIS server.
+ connect to REDIS server. db is the DB number to use (defaults to 0 if not specified).
</para>
<para>
<emphasis>
@@ -77,7 +77,7 @@
<title>Set <varname>server</varname> parameter</title>
<programlisting format="linespecific">
...
-modparam("ndb_redis", "server", "name=srvN;addr=127.0.0.1;port=6379")
+modparam("ndb_redis", "server", "name=srvN;addr=127.0.0.1;port=6379;db=1")
...
</programlisting>
</example>
diff --git a/modules/ndb_redis/redis_client.c b/modules/ndb_redis/redis_client.c
index 37c67f7..6a91019 100644
--- a/modules/ndb_redis/redis_client.c
+++ b/modules/ndb_redis/redis_client.c
@@ -34,6 +34,8 @@
#include "redis_client.h"
+#define redisCommandNR(a...) (int)({ void *__tmp; __tmp = redisCommand(a); if (__tmp) freeReplyObject(__tmp); __tmp ? 0 : -1;})
+
static redisc_server_t *_redisc_srv_list=NULL;
static redisc_reply_t *_redisc_rpl_list=NULL;
@@ -44,9 +46,13 @@ static redisc_reply_t *_redisc_rpl_list=NULL;
int redisc_init(void)
{
char *addr;
- unsigned int port;
+ unsigned int port, db;
redisc_server_t *rsrv=NULL;
param_t *pit = NULL;
+ struct timeval tv;
+
+ tv.tv_sec = 1;
+ tv.tv_usec = 0;
if(_redisc_srv_list==NULL)
{
@@ -58,6 +64,7 @@ int redisc_init(void)
{
addr = "127.0.0.1";
port = 6379;
+ db = 0;
for (pit = rsrv->attrs; pit; pit=pit->next)
{
if(pit->name.len==4 && strncmp(pit->name.s, "addr", 4)==0) {
@@ -66,19 +73,33 @@ int redisc_init(void)
} else if(pit->name.len==4 && strncmp(pit->name.s, "port", 4)==0) {
if(!str2int(&pit->body, &port))
port = 6379;
+ } else if(pit->name.len==2 && strncmp(pit->name.s, "db", 2)==0) {
+ if(!str2int(&pit->body, &db))
+ db = 0;
}
}
- rsrv->ctxRedis = redisConnect(addr, port);
- if (rsrv->ctxRedis->err) {
- LM_ERR("failed to connect to redis server [%.*s]: %s\n",
- rsrv->sname->len, rsrv->sname->s, rsrv->ctxRedis->errstr);
- return -1;
- } else {
- LM_DBG("connected to redis server [%.*s] (%s:%d)\n",
- rsrv->sname->len, rsrv->sname->s, addr, port);
- }
+ rsrv->ctxRedis = redisConnectWithTimeout(addr, port, tv);
+ if(!rsrv->ctxRedis)
+ goto err;
+ if (rsrv->ctxRedis->err)
+ goto err2;
+ if (redisCommandNR(rsrv->ctxRedis, "PING"))
+ goto err2;
+ if (redisCommandNR(rsrv->ctxRedis, "SELECT %i", db))
+ goto err2;
+
}
+
return 0;
+
+err2:
+ LM_ERR("error communicating with redis server [%.*s] (%s:%d/%d): %s\n",
+ rsrv->sname->len, rsrv->sname->s, addr, port, db, rsrv->ctxRedis->errstr);
+ return -1;
+err:
+ LM_ERR("failed to connect to redis server [%.*s] (%s:%d/%d)\n",
+ rsrv->sname->len, rsrv->sname->s, addr, port, db);
+ return -1;
}
/**
Btw, anyone has any experience/feedback with BugGenie?
http://www.thebuggenie.com/
Just found it and at least it looks pretty. However, does not seem well
documented on the web site, neither big community around (based on a
quick look).
Thanks,
Daniel
On 7/20/11 2:32 AM, Alex Balashov wrote:
> We use RT as a ticketing system too. It's great for that. But I don't think it's suitable as a bug tracking or project management database for software development per se, and that's not what it was intended for.
>
> --
> Alex Balashov - Principal
> Evariste Systems LLC
> 260 Peachtree Street NW
> Suite 2200
> Atlanta, GA 30303
> Tel: +1-678-954-0670
> Fax: +1-404-961-1892
> Web: http://www.evaristesys.com/
>
> On Jul 19, 2011, at 5:25 PM, Nathan Angelacos<nangel(a)nothome.org> wrote:
>
>> On 07/19/2011 01:07 PM, Daniel-Constantin Mierla wrote:
>>
>>> More comments? Any other options?
>> Other options:
>>
>> Request Tracker (rt) http://requesttracker.wikia.com/wiki/HomePage - a number of telcos in USA use rt for their ticket system
>>
>>
>> Comments:
>>
>> its 10% of the technology, 90% of how committed the team is to using it.
>>
>> Whatever the most-active contributors want to use is going to be most successful.
>>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users(a)lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users(a)lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kathttp://linkedin.com/in/miconda -- http://twitter.com/miconda
Hello,
the details for organizing the 10 years SER conference in Berlin were
settled. After the initial announcement the interest was quite high, by
now we have a good number of attendees and speakers. We are still open
for new speakers, with the target of showing use cases of Kamailio or SER.
The event will be hosted by FhG Fokus institute, where SER project was
started. It will be a day full of presentations, followed by an evening
social networking event. We hope to be able to provide the evening event
for free to everyone attending, for that reason we look for sponsorships
- if you are interested to sponsor, contact us and we will provide more
details about available options.
Registration is now open for attendees. Note that the number of seats is
limited, don't wait for the last minute to register. More details,
including the registration form can be accessed on the event's web page:
* http://sip-router.org/10-years-ser/
Looking forward to meeting you in Berlin, enjoy a great summer till then,
Daniel
--
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kathttp://linkedin.com/in/miconda -- http://twitter.com/miconda
Hello,
sightly off-topic and cc-ed to users mailing lists, but hopefully there
will be people giving valuable feedback based on their experience.
When we started the integration of source code for kamailio and ser, we
went for FlySpray as issue tracking system (aka bug tracker). The
project seems to be dead, nothing happened to it for long time, no
updates and there are warnings using latest php versions, that may
result in malfunctionality or no-functionality with future versions.
Therefore maybe it is the time to make a decision, rather soon than
later, but this time we should look a bit more carefully to available
options, to avoid ending up (in short time) to the same issue.
I see two major options:
A) going to use a source code hosting portal for bug traker (like
sourceforge, berlios, github, a.s.o.)
B) going to use an existing software to be installed on our server and
managed by us
I tend to go for A) as the maintenance of the software will not be done
by us. I do not know which would be the best choice to go for. Of
course, we should consider possible down times (like it happened in the
past) or slow connection to their servers.
B) will give us full control, but then it is about the time to maintain
it (upgrades, security patches, a.s.o.). More than that, it is about
selecting the right software to go with. Since SEMS code is now hosted
in GIT repo of sip-router.org, maybe the tracker can be used by them as
well, eventually by future related projects hosted in our git.
Opinions?
Thanks,
Daniel
--
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kathttp://linkedin.com/in/miconda -- http://twitter.com/miconda