Documenting Changes Made in Epicor

I thought Discourse was free?

Its literally the software running this forum :yum: it was easy to use and well known to all of us. But anything is better than just leaving it.

We just inherited a nightmare of a system from a differetn company we aquired and when I asked for documentation I was told “We never had time”

This is the file structure of the server I just logged in to, zero documentation and by the looks of it their Repository System consisted of adding a number at the end of a zip file every few days?

Arrested Development Crying GIF by HULU

Save your future self and fix it now :slight_smile:

1 Like

I looked it up and looked like the cheapest tier is $50/month. Maybe that is if they host it?

Thanks for the motivation lol. That is me right now.

Yes that’s if the host it we just spun it off on a little box in our datacenter its FLOSS so as long as you can host it , it costs you nothing.

Confluence is better (it is made for this) and for a very small team it free. 10 people I believe.

1 Like

A post was merged into an existing topic: Post the most Epicor images u got

Our documentation is usually grouping 10-15 Epicor objects (BPM, Function, SSRS, etc.) into something bigger like “Web Integration Documentation”, etc., we almost never have individual object documentation apart from a comment header I put into most non-widget BPMs. That is the level I’d like to get to… a system with an entry for every custom Epicor object with deployment date/times and version history. It’s also a backup repository for our code. And then we could abstract most of the object names out of our “good/detailed” documentation so we don’t touch it every time to update V1 to V2…

We did just spend a lot of time and effort implementing SmartSheets for project and change management. It is working very well for us in terms of task management / approvals, keeping development flowing and everyone on the same page. But it’s not a Source Control system and while the last thing we need is yet another system, I’m hesitant to shoe-horn something into SmartSheets that it wasn’t built for…

If I understand correctly, I found this works until there’s an object shared between two different “solutions” like a BAQ. If that won’t happen to you, then you’re good. Otherwise, I found I was clobbering one artifact instead of merging the changes between the two solutions. Last one in, won.

Separately, I think this was a problem in Solution Workbench if we didn’t rebuild every solution that included a shared object. :thinking:

I gave up. After all, I’m not modifying Epicor DLLs.

Instead, we focus on change management and project control. No matter how small a change is needed, we fork our entire environment for dev. We make a rollback CAB from prod before “merging”. We do UAT in dev, and for complex changes we first spin up a new fork and test the deployment there before UAT. The goal is to have a scalable fork/merge process that can be delegated to a theoretically infinite number of outside developers, without requiring enormous SOWs from consultants justifying ridiculous hourly rates.

3 Likes

:thinking:

Every directive, function, and dashboard app becomes one though.

I still want to know the changes in the source to my BAQs, RDD, SSRS reports, Kinetic Screens, …

I just want to stop people changing them unless they’re fully tested for functional objectives and existing processes, and unless those changes are part of controlled projects, but we’re only developing inside Epicor’s tools now. Aside from electronic interfaces, but they’re pretty rare.

I think that’s the intent of their “citizen developer” outlook, for better or worse. Knock on wood, I think it’s working for us.

For me at least, this is the whole point of DevOps. I cannot prove I have control over the production environment if anyone can make changes to the behavior of the system without some audit trail and a plan to roll back any changes if necessary.

At an EpiUsers’ Insights session, and to many boo’s in the crowd, @Bart_Elia said his goal was that developers and even admins could not change production (servers or code) directly. Full stop. There should be a test system to stage and check the changes, and then a build service or IaaS service that did the actual building and/or changing of the production system.

Why?

  • This allows IT people to take vacations. Each process is documented and logged. This goes to @timshuwy irreplaceability maxim. Being the only person to know how to do this makes me a liability to the company, not an asset. Here at PTI we had a deeply embedded consultant pass away, and we still don’t know how much of that code works since we lost the source code too.
  • In the unfortunate case that a system needs to be built from scratch (fire in the computer room, natural disaster, cyber incident, etc.), all of the instructions to rebuild the system are there and can be automated for a quicker recovery.
  • Test Systems can be built quickly, and if we’re really good, seeded with our own demo data instead of using production data for better information security.
  • Upgrades are easier if there is an automated way to compare before and after versions of objects (RDDs, Kinetic UI, SSRS reports, …). This includes comparing the current base version to next base version and then changes from the next base version with our changes.

In my personal opinion, worse. This is why I call these tools Pet Builders. They are great development tools, don’t get me wrong. But they encourage building systems that are difficult to upgrade and recover without some framework to do so. I don’t think it’s fair to blame customers for not upgrading when the tooling promotes development chaos.

Working in a structured and controlled way removes the entire need for this and all of the other threads about documenting changes because the documentation is built directly into the process. I have exceeded my DevOps ranting quota, and I yield the balance of my time to the other fine ladies and gentlemen of this forum.

2 Likes

I am as guilty as anyone else. It is always a matter of time, which is the ultimate constrained resource… but investing the time (using that particular verb advisedly) at the front end really does save money (and hair color).

1 Like

But yes, fully agree. I want the same limits on me as on everyone else.

Unfortunately, while web hosts have this well automated, easy to use, and all but free (WordPress staging environments for example), enterprise software still acts like this is a big deal and very expensive.

The automation part is challenging, but the process part really isn’t.

I’m late to the party, but we set up Bookstack a long time ago and our entire department uses it and loves it for documentation.

1 Like

I have been using SmartSheet for a ticketing system and also a log of changes made to the system.
By placing the URL on the menu - users can submit their own tickets.
When a row in Smart sheet changes, an email will be sent out the next morning with the changes.

Seems to be working with the 50+ customers that are using it.

1 Like

That looks nice! Do you know if there is a way to say, download a page as a PDF @jreynolds? Thanks for sharing.

@jott yes indeed there is!

image

I can’t tell you what a great system it’s been. I’ve never had a failed upgrade, and once installed it “just works”. It’s a relief. Not too much, not too little.
You have the choice of using a WYSIWYG editor, or (what we do) Markdown. There is a Markdown preview which updates as you work.
Anyway, do check out the features!

1 Like

Awesome, looks very clean and simple. Even if I don’t end up using it at work I’ll probably spin an instance up at home for fun.

There are lots of install options; Docker, Hosted, Ubuntu scripts, community spins, etc. Have fun! Installation · BookStack

1 Like