Migrating off Monday to Listaflow and SuiteCRM

@Fox Kudos for all the work on this! It’s great to have been able to use the opportunity to switch from Monday.com to Listaflow, and have the budget we were dedicating to Monday.com now going to our work on Listaflow :slight_smile:

I’m curious to look at the result more closely, and for that I have couple of questions:

  • How can I see the reports from the OpenCraft sprint checklist? I think currently I only see the Open edX core contributor ones.
  • Is there an admin URL somewhere? For example, how are users & groups managed currently? Or checklists created & edited?
  • SuiteCRM looks good, if a bit bloated - but that’s kinda to be expected from these tools ;p And maybe we can end up using some of the extra features. Do you know for example if there is a way to get notified by email, when new updates, accounts, leads, etc. are posted? That would help me to stay more on top of it. And if there was a way to do this selectively, that could allow client owners to also get updates on their own clients when they are posted.
  • Until now we have used a (mostly) unique username for everyone across all our tools (at least the ones we host), based on the github username - which is nice especially for pings or when the full name isn’t visible. Would it be possible to rename the users to match it? (our usernames are listed in the contact sheet)
3 Likes

@Fox, all formatting and embedded links from Monday.com updates were lost during the import process. Please see the original note and the imported one. Is there a way to enable the formatting (e.g., Markdown) in SuiteCRM?

I’ve been using Monday Updates for tracking things like current code drift, custom branches, upgrade progress, etc. It’s hard to read these things in plaintext, though.

Edit: To open the SuiteCRM link from this comment, you need to copy and paste it into a new tab. Clicking it leads to the Possible Cross Site Request Forgery (XSRF) Attack Detected page.

1 Like

You should be able to see both. You can look at the trends over time by going to the ‘Reports’ link in the header and then selecting the OpenCraft Sprint Checkin form from the dropdown. If you want to check the report constrainted to one specific run, the best way to do so currently is to go to your lists (you may need to go to ‘Assigned to me’ or ‘All’ to find a list you need in particular) and click the three dot menu on the side of it to get a dropdown where you can click ‘Show Report’ and get the report for that run.

Yep, it’s here.

I believe there is a way to do this but I haven’t gotten it set up yet-- been busy focusing on the import. However I’ll be sure to add you when I get to that point :slight_smile:

I can do that! Give me a while first, though-- I set up the usernames as they are because they made importing from Monday easier (since the exports all write out names, it was easier to start by naming everyone their display name’s first segment lower cased). Usernames can be changed in the system, though, so I can certainly sync them to the GitHub usernames later.

I’ve been looking into this as of this morning. There IS a way to have formatted description fields! They’re not markdown based but they’re HTML-fields that have a WYSIWYG editor widget.

So that should be easy-- just render the markdown and then import it into the field, right?

Apparently not-- SuiteCRM’s import utility is stripping the tags from the CSV file. I’ve reached out on their forums to figure out if there’s a way around this. If there isn’t, we’ll either need to accept old notes not having formatting, or else spend time drafting an import script in either PHP or MySQL to import these records directly. I’m waiting to see what they say.

In the mean time I’ve got both versions of the field loaded into the layout-- you should be able to see them now. New notes can be created using the WYSIWYG field.

1 Like

Ah, thanks - I didn’t realise the checklist had been added to the sprint checkin, as that was previously only used for the “how did you feel?” survey. That makes sense though, and now I can see it.

And thanks for all the other details too, great!

Thanks, @Fox. I moved my notes manually, and most of the formatting was retained (example).

It needs a small CSS hack to increase the height of the iframe#note_c node (e.g., to 4000px), as the default one is unusable, but it works.

Great! I’ve heard back from their forums and pretty much the only way to get around this is manual insertion. They suggested PHPMyAdmin.

That would require deploying it and maintaining it, so I don’t think we really want to do that if we don’t have to, so unless it’s a big issue, I’d rather not try to solve this directly. Instead, I’ve improved the importer script and run it once more so that the text it imports into the non-WYSIWYG field is better. In most cases it should be functional markdown.

If the result is good enough for your client’s tracking, feel free to keep it as-is. If it isn’t, since the text should be markdown, I’d suggest just grabbing a browser-based renderer (such as your IDE’s Markdown support or this forum’s post preview – though make sure to delete the contents after on that last one!) and then copying and pasting the rendered text into the WYSIWYG editor.

I’ve also blanked all the WYSIWYG field of all the imported notes, since it looks like @Agrendalath moved his relevant ones over and the rest would have contained garbage from the import. If you had managed to edit/fill something in this field for an imported note over the last day or so, sorry about that! You’ll need to make your change again. From this point forward, if I have to re-run the import script for some reason, I’ll only be targeting the non-formatted field.

If all else fails, there is a full export of Monday’s data on drive.

Gotcha. This will probably need to be investigated in a follow-up task, since it will probably involve customizing how the deployment works-- this is deployed on Kubernetes via helm, but apparently customizing the CSS in a persistent matter requires adding some files. Unlike WordPress, SuiteCRM does not have a built-in plugin manager/installer, so we can’t just pull a CSS modification plugin from the net. Searching ‘css’ on their plugins page doesn’t yield anything, either.

Alternatively we could force it via browser extension. But that’s not elegant. In any case, I’ve created a ticket for the work to change the CSS and put it under the automation account since I don’t think it needs to fit under the migration’s scope. I’ve assigned it tentatively to @demid since it’s something that, if it has to be delayed for a while due to the ongoing conflict, it won’t cause problems. However feel free to reassign as needed. :slight_smile:

1 Like

That’s not a big deal to me - I’m not doing anything fancy in my notes, so keeping them in the WYSIWYG field sounds good. Thanks for looking into this, though!

Yep, I had been using this approach for Monday when we started using it. IMHO, it’s good enough for this use case.

This is not automation, so I don’t think the Automation epic is suitable. As this is a CRM, it looks like a STAR or MNG ticket (or a part of some management epic).

I’m not sure which epic/account it would best be under, then. @gabriel Suggestions?

Alternatively we could just do a recommendation based on the browser extension as mentioned earlier:

Which extenstion were you using? I know GreaseMonkey/TamperMonkey used to be used for this kinda thing-- or at least for JS overloading, not sure about CSS.

There are extensions like Stylus, but I’m not a fan of them, as my use cases are not that sophisticated. I have the following rules in ~/.mozilla/firefox/<default_profile>/chrome/userContent.css:

@-moz-document domain(opencraft.monday.com) {
    .redactor-styles.redactor-in { max-height: unset !important; }
}

@-moz-document domain(crm.opencraft.com) {
    iframe#note_c, .tox.tox-tinymce { height: 4000px !important; }
}

In fact, GreaseMonkey/TamperMonkey could be better for SuiteCRM, as it’s easier to resize an iframe vertically to 100% with jQuery than CSS. I didn’t dig into this, as the hack above is good enough for me.

Developing the CRM sounds like working on other internal infra, so this looks like a DevOps-y ticket to me. @tikr how would you categorize this, and what account would you use?

Based on the description of BB-6982, going with SE-4988 / OpenCraft - Instances DevOps would probably be an OK fit.

Alternatively (and this is what came to mind first), STAR-2904 / OpenCraft - Sales Management would also be an option: The ticket was created in the context of migrating from monday.com to Listaflow, and the CRM’s primary raison d’être is sales management.

2 Likes

Everyone’s username should be updated in the CRM now based on their GitHub username. For those who don’t have one, according to our contact sheet, your first name, lowercased, remains your username. You can also change your username in your settings panel if you need to.

Yeah, the checklist currently on Listaflow is mostly irrelevant to me since my end of sprint tasks are quite different.

I do have a question though - are people expected to complete this whole list all in one go? The checklist has deadlines/days for each task (e.g. “Week 1 Tuesday”), but it’s not possible to complete the checklist “as you go”… if you don’t check all 15 checkboxes, you can’t submit. So could we make them non-required so that people can check them off and update their list as they go, then come back and update it when it’s complete? Otherwise if people are using this as a guide throughout their sprint they’ll need to copy the checklist somewhere else and keep track of it separately, which seems to defeat the purpose of having Listaflow.

Even today, I wanted to check off the ones I’ve done so far, submit, then do the last few like my sprint update, and come back to mark it as done, but it won’t let me submit with any one task blank. This also means that if someone can’t or hasn’t done a particular task, their only option is to “lie about it” and mark it as done anyways, or else they can’t even submit the rest of their report. So I think something needs to be changed.

The tasks are still checked even if you leave. The ‘submit’ button is for confirming you’re done. Originally, since checking the task did live-update the status, we automatically considered the checklist ‘complete’ when all required tasks were checked. However, that posed a problem for cases where there were non-required items, since a person might not actually be ‘done’ if they hadn’t explicitly ignored the non-required items. So, we put the submission button in to make it clear you intended to finish with the checklist.

We COULD make all the checklist items optional for our use case, though, in the case that the task doesn’t matter. Only problem would be that if you DID miss something, Listaflow wouldn’t be able to tell you.

Oh. That explains a lot but is really not clear in the UI. Can we add some text explaining that?

1 Like

Maybe! Or there might be some other way to cue this information. If we were to add text, maybe it would be just above or just below the submit button and say something like ‘Your responses have been saved. If you’re finished, please hit the Submit button below’. What do you think, @Ali ?

I had very similar reactions to @braden 's above - imho this could be worth a dedicated product / design task, to review and rework that aspect and take into account the subtleties of completing the checklist progressively, and the case of mandatory tasks that can’t be completed.

Or show a small green Saved! text on the right of the saved list item (regardless if a checkbox or input field)?

1 Like

I agree, but nothing springs to mind at the moment. Shall we put this on the back burner? I think text above the submit button is ok for now.

I’ve tried to tweak your text so that the wording works before any responses have been added, once responses have been added, and in conjunction with the sentence, “Still X required items to complete” (by removing “if you’re finished…”). I’m not thrilled with this solution (it’s very wordy!) What do you think?

Your responses will be saved. Hit the submit button when you’re done.
Still X required items to complete.

@braden Do you think that would make the checklist more clear to users? Thanks for mentioning this by the way! :+1:t6:

Interesting idea @gabor, but I think this might make the interface a bit busy. Perhaps there’s a different way to achieve the same effect with a simpler design. I will have a think about this.