Documenting Changes Made in Epicor

Good afternoon,

Our company implemented Epicor about a year ago. As you can imagine we’ve been very fast and loose with getting changes out there. I am the only person within the company currently working on customizations and early on the company had many consultants come through who have customized it. So, I’m left feeling like our system is kind of a mess and I’ve had a hard time coming up with a way to document changes in a system like this with no repositories. Within Epicor the best way I’ve found to look at changes is by going into directives maintenance and searching by directive.

Do any of you have a better way? Does anyone have what they think is a pretty good setup where they’re documenting Epicor changes outside of the system? We have tried to keep up with it some in SharePoint but there just hasn’t been time for me to get something properly setup, and I honestly don’t even know where to start.

Maybe this is just a rant, but if anyone has any tips they would be greatly appreciated.

1 Like

It’s a rant I have often. Who had under 10 minutes in the pool until Wonsil mentioned his DevOps Epicor idea?

4 Likes

We have a documentation system we maintain alongside Epicor you can use something like Confluence or Sharepoint, or even Discourse Site

Just record what you did, why you did it, how you did it and any components that make up that solution. Hopefully using something searchable.

I kid you not we use discourse

Each post is a new / update and we track components and implementation notes etc. @jgiese.wci does similarly with Confluence

We have tried to keep up with it some in SharePoint but there just hasn’t been time for me to get something properly setup, and I honestly don’t even know where to start.

This right here is a huge mistake IMO, take the time to set-up something and keep it up to date just add documentation time to your development time make it so, force otherwise you will find yourself in a never ending hole of debt that you will not be able to get out of.

I basically force our dev team to keep the documentation up to date as you do it. Added a new field? go update docs… Created a customization? Go update docs.

6 Likes

We have a dashboard to show BPMs, customizations, Functions, etc. and it helps a little. We’ve always wanted to implement a Dev-Ops esque source control system but keep pushing it off.

1 Like

Depending how the system is setup, it would be cool to run a query of all customizations and compare it to the “known” documented items. Maybe even add the new ones so that someone can come behind and add the missing data. Also, keep track of date last seen to see if any have been removed.

3 Likes

The Customization Maintenance screen isn’t great, but it isn’t terrible either. That could at least help you track down the customizations.

Absolutely. It’s great to view where BPMs are setup. But I can’t filter it down to enabled BPMs for example. Agree though, what is a problem though is Application Studio in Kinetic. I can see there are layers for example but there is no way to tell what are base events, views, etc vs what has been added to the layer.

Will admit it’s a bad habit I’m in. Constantly trying to move on to the next thing. I will probably have to look for a way to better track it in SharePoint as I don’t think we’ll want to purchase another subscription right now.

I think I’m going to have to make a webpage with links between documents and such. Your team’s system looks pretty good though.

Could a similar thing be done with Case Management?

1 Like

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.