PDA

View Full Version : comments not imported from v3 to v4


malberghini
04-24-2008, 11:29 PM
We just upgraded from 3.6 to 4.0 and none of the comments attached to any of our tickets came through.

dsugita
04-25-2008, 12:20 AM
Hi there,
Currently comments are not exported from the 3.x exporter. http://www.wgmdev.com/jira/browse/CHD-347

DBowsky
05-15-2008, 11:22 PM
I bumped this on the dev page linked above; any word on the progress? Comments in previous tickets are a must have, cannot migrate to 4 without them.

dsugita
05-16-2008, 12:41 AM
Its still up there on the dev todo list, but no ETA still.

DBowsky
05-16-2008, 07:29 PM
Its still up there on the dev todo list, but no ETA still.

That's unfortunate.

Any chance there is some amazing SQL-fu that could be used in the interim?

Edit:

Answered my own question, I think I have a pretty straightforward solution, but I have one question:

in the v4 db, there is a table called ticket_comment_seq, is just a counter use to create the next id in the ticket_comment table? After importing a bunch of comments, should I set this value to my last comment id, or my last comment id +1, or am I totally off base?

Hildy
05-20-2008, 06:52 PM
I'd go +1 to be safe, but there's some risk in any direct db manipulation. Looking at cerb4/api/DAO.class.php, DAO_TicketComment::create(), it looks like it's just the one db table, but the big concern is that the ticket_ids from your C3 database aren't going to map to the ticket_ids in your C4 database, so you have to find a way to link those.

DBowsky
05-20-2008, 10:42 PM
I'd go +1 to be safe, but there's some risk in any direct db manipulation. Looking at cerb4/api/DAO.class.php, DAO_TicketComment::create(), it looks like it's just the one db table, but the big concern is that the ticket_ids from your C3 database aren't going to map to the ticket_ids in your C4 database, so you have to find a way to link those.

Well, my first idea is to not have any tickets in the new system prior to bringing in the messages exported using the migration tools.

I noticed that their masks are "CERB3-X" and in my test batch X equaled the old ID of the ticket, since the old ones were sequential.

If ticket_id in ticket_comments represents "internal id" (sequential) then all I have to do is split out the comments into a few batches and check that the tail id numbers are matching after each import.

Two other things: Worker IDs have to be updated, and I had to rearrange the older fields to match the order of the new ones.

Another way, programatically, would be to use the CERB3-X marker as a link to figure out where the comments belonged and to automate the updating of the worker id.

I have a larger test batch that I am going to work on with the semi-manual way of doing it.

Edit:

Which doesn't seem to work. The Masks represent the sequential id from cerb3, but the tickets don't seem to be created in the order they were previously. Ah well.

On to reading the cerb3-x mask to match to the ticket_id from the version 3 comments, and use that to find the new ticket id in cerb 4.

DBowsky
05-28-2008, 11:43 PM
Hildy,

Sent you a PM with our fix for this, didn't want to give it out publicly since it does require some direct DB massaging which I know is sort of a gray area.

Just posting FYI that we figured a work-around.

Hildy
05-29-2008, 07:35 PM
As long as it's made abundantly clear that...
A) you should back everything up before you touch your database,
B) this isn't an officially or unofficially supported hack, and
C) you should back things up first,

we don't have any problem with you posting it here. :-)

netwrkr
05-30-2008, 12:28 AM
As the 5th most popular item as voted by the community:

A. Is this feature going to be implemented?

B. If so, when?

C. If not, why?

v4 looks to be a fantastic piece of software but not being able to import comments will keep us on v3 even though we just bought a v4 license.

As someone who has used your product for over 5 years now, I hope you give serious consideration to the above.

Thanks.

Tom

DBowsky
05-30-2008, 10:46 PM
Okay,

2 things have come up:

I have to alter my migration due to sudden personnel change here in the office.

I also have to delay my roll out to accommodate fiscal-year-end work load for one of the teams that uses Cerberus.

I'll document my EXTREMELY UNSUPPORTED SQL hack for getting v3 comments into v4 after the migration is done. Won't be for another week or so though.

peter_mcc
06-03-2008, 05:36 AM
v4 looks to be a fantastic piece of software but not being able to import comments will keep us on v3 even though we just bought a v4 license.

Ditto - sort of! We've got a V4 license but can't use it because of the lack of comment import.

I'd be happy to pay for the "upgrade" that we got for free if you'd fix it soon - we want to change the way we manage our helpdesk but I don't want to set up new procedures now only to have to change it/retrain people in a little while.

peter

netwrkr
06-03-2008, 11:50 PM
Jeff, Hildy et. al

Guys any update?

Tom

netwrkr
06-06-2008, 01:59 AM
I see Hildy and others responding to posts. Wonder why this one isn't being addressed. I'm pretty sure this is the "Priority support for paid licenses" forum no?

Tom

Hildy
06-06-2008, 11:51 PM
Quoting from an email from Jeff:
=================================================

There are a couple things we have to consider with retroactively importing comments into a live C4 environment:

* Internal Worker IDs don't match up. We could look for e-mail addresses, but it's probably best if we refactor Cerb4 comments to be based on e-mail addresses as authors (like messages, especially if they're going to thread in the conversation) opposed to worker records. This was going to have to happen eventually anyway.

* Internal Ticket IDs don't match up. Since we export mail from Cerb3 to RFC-2822 to run it through the parser in Cerb4, we need to come up with a different way to match comments back to their parent tickets. The likely candidate is using a combination of the message-id header (which is preserved) and the masks (when they're enabled) to locate the same tickets between databases.

...

Even if you don't see action happening, I assure you nothing is ignored. I'm *well* aware of: comment importing, comment threading, time tracking and internationalization being big feature requests from the Cerb3 base.

...

I understand that it's a show-stopper issue for you. And I'm definitely guilty of not responding to everything as often as I could. I wear a lot of hats over here -- I'm running around a lot.

There's really not much more I can say about it other than different priorities have been trumping it.

...

I sat down tonight and wrote the queries and prototype code we need to pull the information out of Cerb3 and prepare it for import in Cerb4.

On our end, we need to decide how we want to get the information into Cerb4. The main lines of thinking are pretty much:

A) We could develop a /storage/import directory for universal imports of any record type. We'd export the comments to XML and re-import them en masse.

B) We could do a disposable DB-to-DB script in PHP.

...

I can't promise this will be done first thing in the morning, but I can promise it's very much in the center of my field of vision.

Thanks for wanting to use Cerb4 enough that this is even an issue.

=================================================

DBowsky
06-09-2008, 09:51 PM
Hi everyone,

Migration to v4 is finally live. I wanted to detail the comments process in case others might find it useful.

I could see writing a scripted solution for this being a very difficult process, and I’m sure any official solution will be far more elegant than the one I am about to describe.

As long as it's made abundantly clear that...
A) you should back everything up before you touch your database,
B) this isn't an officially or unofficially supported hack, and
C) you should back things up first,

we don't have any problem with you posting it here. :-)

You read it above. This is an extremely unsupported process and SHOULD NOT BE ATTEMPTED ON A LIVE SYSTEM WITHOUT PROPER BACKUPS AND TESTING.

Your environment is likely to be different from mine. Ostensibly the process should be adaptable regardless of your infrastructure. I’ll detail ours in this post only to provide a backdrop against which these steps were performed.

As Hildy mentioned:

-- BACK UP everything before trying to undertake a comments import.
-- Do not expect WGM folks to offer assistance with this. I happen to have a co-worker who is extremely knowledgeable in SQL and that’s what made it work.
-- BACK UP everything prior to touching any of the DBs, even just for exporting tables.

A few caveats of my own:

DO NOT TRY THIS ON A PRODUCTION SERVER If it is possible, create a duplicate of both your Cerb 3 and Cerb 4 databases for purposes of testing this in your environment.

-- This method required the following tools:
Command line or GUI query access to your Cerberus 3 database.
Command line or GUI query access to your Cerberus 4 database.
Microsoft Excel or similar
A good raw text editor like Ultra Edit.

--If you are not comfortable using the SQL command line or GUI query tools like MySQL query browser, or phpMyAdmin then this hack is NOT FOR YOU. Exercise a little more patience and wait for the official tools from WGM.

-- Understand also that my own time for answering questions is limited, so be ready to do some foot work if you want to try this on your own. I am confident that I can answer general questions about the process, but questions specific to your environment will rely on your own adventuresome spirit and creative ingenuity to resolve.

--This outline details the steps I took when doing my production server migration. Modify them as appropriate for testing prior to doing ANYTHING on your production server. By following any of the steps in this or subsequent posts on this topic you agree that I’m not responsible for anything that occurs, good or bad, right or wrong, awesome or fail. You agree that as an adventurous and creative adult you are taking responsibility for attempting a 100% unsupported hack.

All that being said, here we go:

The Environment

The source:

Cerberus 3.2 Release (Build 317)
Windows 2000 Sever (running in VMWare)
MySQL 4.1
MySql Query Browser

The Destination:

Cerberus 4.0 RC1 (Build 603)
Ubuntu 8.04 (VMWare)
MySQL 5.051a
phpMyAdmin 2.11.3

Preparatory steps before doing anything with the tables

1. Ensure that all incoming mailbox checks in Cerberus are disabled. We don’t want any new mail coming in during our exports.

2. Ensure that all agents are logged out of the system. No activity in Cerberus at all.

3. If any teams are already using Cerberus 4, ensure that all incoming mail is off and that all agents are logged out of the system.

4. Run existing message export tools and parse into cerb 4 as instructed. You’ll need all of the tickets in the system prior to doing anything with comments.

Fun with comment tables

I used MySQL query browser to export the next_step table from my cerb 3 db and saved them to an excel file. CSV works too, but as you’ll see later I had to do some changing to delimiter and enclosure characters in order to import with phpMyAdmin.

I noted the fields in this table: id, ticket_id, date_created, created_by_agent_id, and note then took a look at the destination side.

Cerb4 stores ticket comments in the ticket_comment table. Imagine that. There is also an important table, ticket_comment_seq but we’ll come back to that later. Note that this table contains the fields: id, ticket_id, worker_id, created, and comment.

We need a repository for the comments temporarily, so I created the table cerb3_comments with the following fields: id, ticket_id, created_by_agent_id, date_created, and note. Note that these are the cerb3 fields in the cerb4 order. Probably not important, but just how I did it.

Using the gui tools above, I took note of the new worker_id value for each worker, as well as the old ones and jotted them on a sheet of paper in a little table. We’ll have to come back to the cerb4 DB several times in the following steps as well.

Correcting Ticket Masks

For a variety of reasons, I had a handful of tickets that did not get masked with the crucial CERB3-xxxxx mask. It was easy enough to search for them using a Mask “not equal” search. Most of them were message threads that were (for whatever reason) missing the first message of the thread. Only took a few minutes to merge them back into threads then take note of their message ID numbers.

For each message, I checked the full header for the old Cerberus ID number <insert header name here>. Again, jotted down the number I needed next to the id number of the mis-masked ticket.

Back to the cerb4 DB. Found each id and edited the mask to represent CERB3-<old ticket number>. This also goes fairly quickly.

Prepping comments for import

This turned out to be a bit of a time consumer. First, I got the comments excel file and arranged the columns to match my destination table (cerb4.cerb3_comments). Then I highlighted *just* the created_by_agent_id column. I have about 11 agents, and discovered the best thing to do is do a find replace on the selection, old id to worker name. Once all those are names, then go worker name to new id.

My excel skills are somewhat limited, and I had trouble just straight exporting a CSV file that phpMyAdmin would accept for import. Biggest problem is that the text in actual comment is likely to contain any characters that would be used for an enclosure or delimiter character.

To get around this I did a bit of searching through the text, and settled on | as a delimiter and ~ as an enclosure. Even with this route I had to re-import the data to my holding table several times after correcting “incorrect field count” errors which meant either an enclosure or delimiter character within the text of the Note/Comment field.

Again, excel is not my strong point, so I basically inserted enough columns between the tables to create the characters I needed. In the end it looked something like this (if you imagine that each marker character is in it’s own excel field.):


~1~|~4~|~2~|~1144429507~|~This is a test comment. What does Cerberus do when I enter comments in this field? ~


Once all those are drag-copied down the entire list (we had about 6000 comments as it turns out) return to the top row and in an empty column at the far end, I used the concatenate function (selecting all the previous columns in that row) to get all the text into one cell. Drag-copied that equation down the who list and blammo.

Just to be save I copied out that column of concatenated cells into ultra-edit to save it as a csv without Excel adding trailing or leading commas or quotes that I had to deal with.

Imported that file to the cerb3_comments table. Note, at this point the worker IDs are updated, but the ticket IDs are not. Also the data is in a table that does not display anywhere in the cerb4 interface. Also, this is best done in chunks. I did roughly 1000 at a time, 6 chunks essentially). Each time the query below results in successful comment importing I cleared cerb3_comments and started again with the next chunk.

Mysterious SQL-Ninja-Magic

At least it is to me. I didn’t write this query, a co-worker did. This basically moves the cerb3_comments data to the ticket_comment table while updating the ticket_id field by comparing the CERB3-xxx mask against the existing ticket_id, and replacing that with the new ticket_id value in the id field of the matching ticket.


USE cerb4;

INSERT INTO ticket_comment (id, ticket_id, worker_id, created, comment)
SELECT cerb3_comments.id, ticket.id, cerb3_comments.created_by_agent_id, cerb3_comments.date_created, cerb3_comments.note
FROM cerb3_comments, ticket
WHERE SUBSTRING(ticket.mask,7) = cerb3_comments.ticket_id;


<continues>

DBowsky
06-09-2008, 09:52 PM
<part 2>

I did run into 9 comment rows (out of 6000 or so) that would just not import. I had previously broken up my comments into 4 separate import files, and most of the bad rows were within the first two files. Once those were removed (and the lines copied to a failure file from the original csv data) the import worked fine.

I created an extra holding bin table, ticket_comment_test in the cerb4 db. This allowed me to error check my query above before inserting anything into the actual comment table. This way I could easily truncate the destination table on the failed query, remove the offending row, and try again.

Finally, I went to take a look at the ticket_comment_seq table and set this value to my largest comment id +1.

From there I just verified tickets at significant points and made sure things mapped correctly before moving on to the next chunk. I did not find any comments attached to wrong tickets or attributed to the wrong tech.

Seriously, don’t try this on a production server, don’t try this if you are unfamiliar with the tools, and if you do decide to make test DB copies and try it, only do so if you are willing to research and resolve your own snags along the way.

Bear in mind, those that are also frustrated by the lack of comment importing, that this was NOT easy to do. It took me quite a bit of development time figuring out the tables and structure that I needed as well as getting someone else to write the sql query for me. Count in all the error correction time during the actual comment migration (about 3 hours of my Saturday) and you get the idea.

Now that this is settled (for us anyway) next for me is to re-associate all of our old, closed tickets (close to 13K) with their actual worker. Guys, seriously, this should have been one of the x-Cerberus custom headers on message export. x-CerberusNextWorker or something so that we can pile sort to fill out the next and last worker fields.

I’ve also got a building list of usability issues, but that’s for another post.

Hildy
06-10-2008, 08:23 PM
Thanks for posting your hack for this, DBowsky. The official comment exporter/importer is pretty much ready for release, too... We've got comments back on our live system now.

For the Worker thing, you'll (probably) be pleased to know that we're working on a whole importer area / plugin / thing so that we can export tickets from Cerb3 as an XML entity rather than as straight RFC and maintain all the comments / notes / workers / etc.

peter_mcc
06-16-2008, 01:38 AM
The official comment exporter/importer is pretty much ready for release, too...
So... when will it be released????
peter

bcavish
06-16-2008, 07:49 PM
Hi Peter,

"So... when will it be released????"


When it is ready ;)

But to not sound snarky, we need to run this functionality through a bevy of tests before actually releasing it. It would be very bad if the comment exporter were to miss any comments, or if any other issues cropped up that testing could have saved. We don't want to experiment with this thing on your live data.

netwrkr
06-16-2008, 09:47 PM
Hi Peter,

"So... when will it be released????"


When it is ready ;)




This is inline with the PM I sent Jeff over the weekend. We really need you guys to get a little better about updating Jira, logging work and putting rough estimates for delivery of new features / bug fixes. "When it's ready" isn't an answer I would use with any customer. "It should be ready in about a week" really helps for planning purposes.

I'll also add that when you do start using Jira more you should see less of these type questions :)


Tom

peter_mcc
06-17-2008, 12:41 AM
This is inline with the PM I sent Jeff over the weekend. We really need you guys to get a little better about updating Jira, logging work and putting rough estimates for delivery of new features / bug fixes. "When it's ready" isn't an answer I would use with any customer. "It should be ready in about a week" really helps for planning purposes.
I'd have to agree - my customers get upset with me when I give them answers like that...
peter

Hildy
06-17-2008, 02:19 AM
Well, it's the unfortunate truth that with all the different hats we each wear here, we can't predict exactly how long things will take sometimes, and we'd rather be up front about that then promise you "Thursday" and not deliver.

That said, below is the quick and dirty, not-officially-supported, comment exporter code. Copy it to comment_exporter.php, create the ./output directory, fill in the db connection info on lines 9-10, and let 'er rip.

<?php
set_time_limit(3600*12);

// Make sure the output directory is writeable
if(!is_writable("./output")) {
die("Unable to write in output directory. Please check permissions.<br>");
}

$db = mysql_connect('<SERVERNAME>','<USERNAME>','<PASSWORD>');
mysql_select_db('<DBNAME>', $db);

$sql = sprintf("SELECT t.ticket_id, n.id, t.ticket_mask, ".
"n.date_created, n.note, u.user_email ".
"FROM next_step n ".
"INNER JOIN ticket t ON (t.ticket_id=n.ticket_id) ".
"INNER JOIN thread th ON (t.min_thread_id=th.thread_id) ".
"INNER JOIN user u ON (n.created_by_agent_id=u.user_id) ".
"ORDER BY n.id ASC ".
// "LIMIT 0,500".
""
);
$res = mysql_query($sql, $db);

$total_files = 0;
$total_outdirs = 0;

if(mysql_num_rows($res))
while($row = mysql_fetch_array($res)) {
$id = intval($row['id']);
$ticket_id = intval($row['ticket_id']);
$mask = !empty($row['ticket_mask']) ? $row['ticket_mask'] : ('CERB3-'.$ticket_id);
$xml = sprintf(
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>
<comment>
<mask><![CDATA[%s]]></mask>
<created_date>%d</created_date>
<author_email><![CDATA[%s]]></author_email>
<note><![CDATA[%s]]></note>
</comment>",
$mask,
intval($row['date_created']),
$row['user_email'],
utf8_decode($row['note'])
);

// 2000 files per dir
if(0 == ++$total_files % 2000)
$total_outdirs++;

$outdir = sprintf("./output/comments-%05d",$total_outdirs);

if(!file_exists($outdir))
mkdir($outdir,0744,true);

$out_file = sprintf("%s/comment-%08d.xml",
$outdir,
$id
);

// [TODO] Fix 'file_put_contents' to PHP4 compatibility
file_put_contents($out_file, $xml);
echo "Wrote $out_file...<br>";
}

?>



Longer term, our goal is that the Java exporter *SHOULD* export a ticket as a ticket -- which includes all meta/properties, messages, attachments, comments and whatever else as a single object and single file, and at the same time still be able to just export one particular object (like comments) for people who are already using C4.

Note: As with all mass modifications to your db, please back it up first.

Disclaimer: Should it become necessary to change the way Cerb4 imports things to keep up with an updated exporter, this output of this script may cease to be importable.

netwrkr
06-17-2008, 02:32 AM
Well, it's the unfortunate truth that with all the different hats we each wear here, we can't predict exactly how long things will take sometimes, and we'd rather be up front about that then promise you "Thursday" and not deliver.


I don't believe anyone here has asked for a firm delivery date. We would like to see Jira being actively used - going from open to resolved without anything in between doesn't lend itself to Jira's strong point - showing progress on issues. Otherwise someone has spent a lot of money on a glorified bugzilla.

Look, we aren't asking for miracles here - just give us some regular feedback - preferably in Jira since thats your development tracking product of choice. Give us some rough idea as to when to expect whatever hot issue is at hand - whether that be a week or a month. Show us some progress along the way (in Jira) so we can plan accordingly.

I really don't think thats asking too much.

I don't think you can have it both ways though - community involvement and no updates on progress. If you hook Jira into your Subversion repos and keep tagging stuff it would be fairly automated even.

Tom

PS. Keep in mind a large majority of the companies you deal with all have folks wearing a lot of hats - mine included. I hear you and Jeff make the "different hats" statement often and I would like to say "welcome to the club". I've been wearing more than a few hats for more than 8 years now so I definitely hear you.

jstanden
06-17-2008, 08:27 AM
We would like to see Jira being actively used - going from open to resolved without anything in between doesn't lend itself to Jira's strong point - showing progress on issues.

Hey Tom!

I consider JIRA's strong point just making sure we don't lose any feedback; but I definitely agree we could do a better job keeping JIRA synced with current development.

We aren't just counting on raw JIRA votes or activity -- we respect that there are a lot of people who just want to share feedback (e.g. phone, tickets, forums, chat) and have us take care of the wishlist data entry.

There are a lot of things I'd change about JIRA if I had the time:
http://www.jeffstanden.com/blog/2007/12/12/jira-is-more-annoying-than-having-to-eat-three-times-a-day/

It's tough to map JIRA 1:1 with agile development. If it was a read-only system it would be one thing, but it makes it difficult to have a clean entry point for feedback, and stable piles of things we've reviewed.

Ideally, we'd have a system that would let us easily proxy vote for ideas every time we hear about them in the community outside JIRA (which is the majority of the time).

Give us some rough idea as to when to expect whatever hot issue is at hand - whether that be a week or a month. Show us some progress along the way (in Jira) so we can plan accordingly.

I have no problem trying to give you a rough idea of how long something will take to implement; but I'm with Dan on this. Coding is only about 10% of my process. For the other 90% of the time, I have constant conversations, gather feedback from a bunch of channels, use the product heavily myself to avoid a development ivory tower, and brainstorm about simple and elegant ways to merge all these ideas together. It's much harder to account for that other time.

Surely, JIRA can have more of a role logging the progress -- but it's rare that anything we're doing takes more than a couple hours once we sit down to do it. If it did, it would go against the philosophy of 4.0.

I do tend to neglect JIRA when I already have a really good idea of the roadmap I'm working on from all the different sources. There isn't always a live roadmap somewhere, and that's something I do need to work on being better about.

We originally set up the 'Developer Diaries' section in the forums to have ongoing convos about popular features all through the development process. Currently it just has our changelogs.

I don't think you can have it both ways though - community involvement and no updates on progress.

It's not accurate to say there are no updates on progress -- that's unnecessarily polarized. The reality is there are frequent updates but they're scattered all over the place.

We definitely need to make a better development portal. I just don't think JIRA has the collaborative chops to be Development Central. The majority of our users don't/won't use it, which is why our process doesn't pretend all our feedback is in there. I already touched on the issues with our lack of decent proxy voting features as custodians (which I went into on the blog post I linked above as well).

JIRA works well enough in the meantime; but you have to be realistic when most users don't use it, and you have to force developers to use it. We can't mandate everyone uses it -- we just have to look at what's lacking and either find or build something else. The best thing we can do in the meantime is to aggregate *all* our conversations in *all* our channels, which is what we're doing. Again, we just need to do a better job of dumping that aggregation back into the community *before* our brainstorming, designing and committing is already done. I've been saying that internally for quite a while.

PS. Keep in mind a large majority of the companies you deal with all have folks wearing a lot of hats - mine included. I hear you and Jeff make the "different hats" statement often and I would like to say "welcome to the club". I've been wearing more than a few hats for more than 8 years now so I definitely hear you.

Sure. We've given away thousands of free copies of the software and we provide free support to everyone. The feedback we get from that is crucial, but it definitely plays into the 'many hats' situation Dan is talking about. It's important to our project ethos to blur the lines of commercial opensource as much as we can while still paying rent.

Consequently, it's not just about the different roles, it's about the ratio of contacts/ideas/feedback/wishlists to the number of people who can do something actionable about them. It also has to do with making sure we don't repeat Cerb3 mistakes in a rush for parity on Cerb4.

Importing comments from C3 to C4 is a silly example of all this, because clearly we should have addressed it a long time ago. We know that. It's something that could be pushed, so it was.

Overall, what you're saying makes plenty of sense. I'm happy that you want to be more plugged in to the development process. I'd always rather have 20 insightful conversations before digging in on the development side.

It's just important to remember that we're having a lot of conversations every day in a lot of different places. If we logged all that back to JIRA, we'd spend most of our time just maintaining JIRA's state. That said, I completely agree there's room for a much better balance of aggregation and collaboration than just waiting until the commit logs are posted for each new build. Even if we were just better utilizing the blog (http://www.cerb4.com/blog/) to bubble the progress and interesting convos to the top.

We've been moving in that direction for a long time. This isn't the first time we've considered it. ;)

I'll keep all this in mind as I work, as I did with you on Saturday (http://forum.cerb4.com/showthread.php?t=1039).

Update: Here's my blog follow-up with Atlassian about our JIRA pain points. (http://www.jeffstanden.com/blog/2007/12/13/atlassian-responds-to-jira-is-annoying/)

jstanden
06-17-2008, 08:35 AM
That said, below is the quick and dirty, not-officially-supported, comment exporter code. Copy it to comment_exporter.php, create the ./output directory, fill in the db connection info on lines 9-10, and let 'er rip.

** ADDITIONAL INFO **

When it's finished running, copy the subdirectories from the output/ directory into your /cerb4/import/new directory. Be sure to change the permissions to your webserver user.

Go into 'Helpdesk Config' and click the 'Scheduler' tab. Enable the 'Importer' job. Temporarily set the reload time to a low number (or 0). If you want, you can run the importer job manually and refresh the page each time a chunk is processed. If you have more than 20,000 comments or so (10 subdirs), you'd be better off letting the job do the work automatically or you'll wear out your F5 key.

bcavish
06-18-2008, 06:56 PM
Hey Guys,

I meant that comment as a joke, I quickly followed it up with an explanation of why its taking a bit longer. Sorry about that coming off as rude if it did.

peter_mcc
08-12-2008, 07:34 AM
Hi
Will there be a "formal" version of this?
peter

Hildy
08-12-2008, 04:47 PM
Peter, we're working on getting some exporters out that will do integrated exports to XML (instead of to RFC822 messages) The Cerb3 one is pretty much done, and we're working on Cerb2 and POP3 direct exporters, too. The Cerb3 and Cerb2 exporters do export comments, so yes, there will be a formal version. It should be available shortly.