Keeping track
-
I don't have release manifests. But as I understand it, a release manifest is a document detailing a single application, so how would that work if I want to know which of my fourty applications for ten customers are not yet on .NET 8 (for example)?
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
Are these applications stored in repos you control or are they distributed across customers? If they are distributed can you keep a copy of the manifests so you can grep them and perhaps awk the results? Just tossing ideas out there...
Jeremy Falcon
-
Just wondering how people keep track of all the software and versions they wrote for all their customers? For example, I started out using .NET Core 2.2, but I think I've upgraded everything to at least .NET Core 3.1. Save for one or two projects (maybe three?) it's all .NET 6 or .NET 8 (maybe a .NET 5 or 7 project somewhere?). I've also used Vue from the beginning and I think all my projects are Vue 2 and it seems I now have to upgrade to Vue 3. Same for Bootstrap and who knows what I've been using these past years. I own a small company with about ten customers and thirty to fourty software projects, but it's growing rapidly. Since it's still small and doable, I'd like to start keeping track sooner rather than later. At least I'll know which customers or packages need an upgrade. I can, of course, use Excel, but I can imagine there are better tools for this that list the customers or the frameworks/libraries and their versions. Or I could roll out my own (which should then be registered in itself :D).
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
If they're Windows apps, distribute them through the Windows Store as a "private" corporate ("channel") account. The store will track all the versions and you can make upgrades optional or "forced". Or you store all "their" exe's in the cloud as a reference; and a share for when they destroy theirs.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
-
Just wondering how people keep track of all the software and versions they wrote for all their customers? For example, I started out using .NET Core 2.2, but I think I've upgraded everything to at least .NET Core 3.1. Save for one or two projects (maybe three?) it's all .NET 6 or .NET 8 (maybe a .NET 5 or 7 project somewhere?). I've also used Vue from the beginning and I think all my projects are Vue 2 and it seems I now have to upgrade to Vue 3. Same for Bootstrap and who knows what I've been using these past years. I own a small company with about ten customers and thirty to fourty software projects, but it's growing rapidly. Since it's still small and doable, I'd like to start keeping track sooner rather than later. At least I'll know which customers or packages need an upgrade. I can, of course, use Excel, but I can imagine there are better tools for this that list the customers or the frameworks/libraries and their versions. Or I could roll out my own (which should then be registered in itself :D).
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
Sander Rossel wrote:
At least I'll know which customers or packages need an upgrade.
I suggest you need to keep track of hardware also. And keep the hardware necessary to support it. You might want to consider how active the customer is also. If you haven't gotten any money (significant as defined by you) in say 10 years then maybe time to tell them they need to throw some business your way or future upgrades will be much more expensive.
Sander Rossel wrote:
I can, of course, use Excel
I doubt it. Not for the size that you gave. But you could just add a doc/implementation directory to every source control repo/root and add a text doc(s) with significant information. That is actually probably better than one single Excel for everything. Lets you go more freeform.
-
Just wondering how people keep track of all the software and versions they wrote for all their customers? For example, I started out using .NET Core 2.2, but I think I've upgraded everything to at least .NET Core 3.1. Save for one or two projects (maybe three?) it's all .NET 6 or .NET 8 (maybe a .NET 5 or 7 project somewhere?). I've also used Vue from the beginning and I think all my projects are Vue 2 and it seems I now have to upgrade to Vue 3. Same for Bootstrap and who knows what I've been using these past years. I own a small company with about ten customers and thirty to fourty software projects, but it's growing rapidly. Since it's still small and doable, I'd like to start keeping track sooner rather than later. At least I'll know which customers or packages need an upgrade. I can, of course, use Excel, but I can imagine there are better tools for this that list the customers or the frameworks/libraries and their versions. Or I could roll out my own (which should then be registered in itself :D).
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
Technically, I started with a Spectrum 48K. I was only counting professional experience. :)
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
Then VC++ 6 and MFC it is.
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
Just wondering how people keep track of all the software and versions they wrote for all their customers? For example, I started out using .NET Core 2.2, but I think I've upgraded everything to at least .NET Core 3.1. Save for one or two projects (maybe three?) it's all .NET 6 or .NET 8 (maybe a .NET 5 or 7 project somewhere?). I've also used Vue from the beginning and I think all my projects are Vue 2 and it seems I now have to upgrade to Vue 3. Same for Bootstrap and who knows what I've been using these past years. I own a small company with about ten customers and thirty to fourty software projects, but it's growing rapidly. Since it's still small and doable, I'd like to start keeping track sooner rather than later. At least I'll know which customers or packages need an upgrade. I can, of course, use Excel, but I can imagine there are better tools for this that list the customers or the frameworks/libraries and their versions. Or I could roll out my own (which should then be registered in itself :D).
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
Two separate axes here: 1. For each application, you need your release tracking such that you can rebuild any product as delivered to a customer. Source control should help here. Each release is a tag/label. Depending on your setup, you might need to introduce a new folder/area/repo (likely per application) dedicated to release tracking. 2. For each customer, you need to know what application releases they have purchased and installed. You could probably use source control here as well. One possibility: Customer repo, folder for each customer, filename for each application they use, contents of the file is one line that lists the application name and the release number. Everytime they update or purchase a new app, you update their files.
-
Just wondering how people keep track of all the software and versions they wrote for all their customers? For example, I started out using .NET Core 2.2, but I think I've upgraded everything to at least .NET Core 3.1. Save for one or two projects (maybe three?) it's all .NET 6 or .NET 8 (maybe a .NET 5 or 7 project somewhere?). I've also used Vue from the beginning and I think all my projects are Vue 2 and it seems I now have to upgrade to Vue 3. Same for Bootstrap and who knows what I've been using these past years. I own a small company with about ten customers and thirty to fourty software projects, but it's growing rapidly. Since it's still small and doable, I'd like to start keeping track sooner rather than later. At least I'll know which customers or packages need an upgrade. I can, of course, use Excel, but I can imagine there are better tools for this that list the customers or the frameworks/libraries and their versions. Or I could roll out my own (which should then be registered in itself :D).
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
Are these applications stored in repos you control or are they distributed across customers? If they are distributed can you keep a copy of the manifests so you can grep them and perhaps awk the results? Just tossing ideas out there...
Jeremy Falcon
Mostly in repos I control, though not all in the same tenant or system (I've got two Azure DevOps accounts and a GitLab repo). Having to search in and open separate files doesn't sound that appealing though.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
that's what release notes are for.
CI/CD = Continuous Impediment/Continuous Despair
Release notes are for describing what has changed, mostly for users. I don't have release notes because all my software is custom made and clients know what they asked for. Anyway, storing everything in multiple files I have to open separately doesn't sound to appealing. Even keeping it in a single file sounds like a hassle to organize.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
If they're Windows apps, distribute them through the Windows Store as a "private" corporate ("channel") account. The store will track all the versions and you can make upgrades optional or "forced". Or you store all "their" exe's in the cloud as a reference; and a share for when they destroy theirs.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
None of that is applicable to me.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
Sander Rossel wrote:
At least I'll know which customers or packages need an upgrade.
I suggest you need to keep track of hardware also. And keep the hardware necessary to support it. You might want to consider how active the customer is also. If you haven't gotten any money (significant as defined by you) in say 10 years then maybe time to tell them they need to throw some business your way or future upgrades will be much more expensive.
Sander Rossel wrote:
I can, of course, use Excel
I doubt it. Not for the size that you gave. But you could just add a doc/implementation directory to every source control repo/root and add a text doc(s) with significant information. That is actually probably better than one single Excel for everything. Lets you go more freeform.
jschell wrote:
I suggest you need to keep track of hardware also. And keep the hardware necessary to support it.
I really don't care about the hardware. Pretty much any decent Windows PC will do. Most is hosted in Azure App Services, so I don't even control the hardware.
jschell wrote:
You might want to consider how active the customer is also. If you haven't gotten any money (significant as defined by you) in say 10 years then maybe time to tell them they need to throw some business your way or future upgrades will be much more expensive.
This I know from my invoices.
jschell wrote:
But you could just add a doc/implementation directory to every source control repo/root and add a text doc(s) with significant information. That is actually probably better than one single Excel for everything. Lets you go more freeform.
Yeah, but I'd still have to open and read every repo to find "all applications that are running on .NET < 8."
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
Yeah, but I've got private web apps and every customer has their own highly customized app.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
Two separate axes here: 1. For each application, you need your release tracking such that you can rebuild any product as delivered to a customer. Source control should help here. Each release is a tag/label. Depending on your setup, you might need to introduce a new folder/area/repo (likely per application) dedicated to release tracking. 2. For each customer, you need to know what application releases they have purchased and installed. You could probably use source control here as well. One possibility: Customer repo, folder for each customer, filename for each application they use, contents of the file is one line that lists the application name and the release number. Everytime they update or purchase a new app, you update their files.
englebart wrote:
For each application, you need your release tracking such that you can rebuild any product as delivered to a customer. Source control should help here.
Got CI/CD, but that still doesn't tell me which .NET or Vue version a customer is on, or if they use any library or framework that requires special attention. Don't much care about which version was running when, we go forward only.
englebart wrote:
For each customer, you need to know what application releases they have purchased and installed. You could probably use source control here as well.
All my customers have highly customized apps that are unique for them. I just want to query the applications I've built, like "SELECT Application WHERE .NET < 8". It's probably going to be a SQL database with a customized front-end.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
visual studio and couple of folders or source control?
Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
I have folders and source control, but the problem is that I have nothing that works easy and spans everything. I'm probably going to store everything in a SQL database for easy querying.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
Just wondering how people keep track of all the software and versions they wrote for all their customers? For example, I started out using .NET Core 2.2, but I think I've upgraded everything to at least .NET Core 3.1. Save for one or two projects (maybe three?) it's all .NET 6 or .NET 8 (maybe a .NET 5 or 7 project somewhere?). I've also used Vue from the beginning and I think all my projects are Vue 2 and it seems I now have to upgrade to Vue 3. Same for Bootstrap and who knows what I've been using these past years. I own a small company with about ten customers and thirty to fourty software projects, but it's growing rapidly. Since it's still small and doable, I'd like to start keeping track sooner rather than later. At least I'll know which customers or packages need an upgrade. I can, of course, use Excel, but I can imagine there are better tools for this that list the customers or the frameworks/libraries and their versions. Or I could roll out my own (which should then be registered in itself :D).
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
It sounds like you need an Application Portfolio Management (APM) tool. These track applications and all the relationships between them and attributes that you'd need. However, they're expensive. I'm only aware of one open source tool, Essential Project. Unfortunately it's a pain to install and a bigger pain to use. There's a paid for version with web tooling but I doubt you want to throw USD $19,000 at this. To be honest your idea of a spreadsheet sounds feasible if you keep your aims basic. Search for APM tools; companies like BizzDesign, Value Blue and Qualiware have decent APM tools and lots of freely available information that'll give you a good idea of what you'll want to track.
-
It sounds like you need an Application Portfolio Management (APM) tool. These track applications and all the relationships between them and attributes that you'd need. However, they're expensive. I'm only aware of one open source tool, Essential Project. Unfortunately it's a pain to install and a bigger pain to use. There's a paid for version with web tooling but I doubt you want to throw USD $19,000 at this. To be honest your idea of a spreadsheet sounds feasible if you keep your aims basic. Search for APM tools; companies like BizzDesign, Value Blue and Qualiware have decent APM tools and lots of freely available information that'll give you a good idea of what you'll want to track.
Sounds like that is what I'm looking for, but all very bloated. Didn't even know such applications existed (well, I could've guessed, but hadn't heard of the term application portfolio). "APM tools" gives me application performance monitoring tools exclusively ;)
Grotsoft wrote:
I doubt you want to throw USD $19,000 at this.
I can confirm your doubt! :laugh:
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
Just wondering how people keep track of all the software and versions they wrote for all their customers? For example, I started out using .NET Core 2.2, but I think I've upgraded everything to at least .NET Core 3.1. Save for one or two projects (maybe three?) it's all .NET 6 or .NET 8 (maybe a .NET 5 or 7 project somewhere?). I've also used Vue from the beginning and I think all my projects are Vue 2 and it seems I now have to upgrade to Vue 3. Same for Bootstrap and who knows what I've been using these past years. I own a small company with about ten customers and thirty to fourty software projects, but it's growing rapidly. Since it's still small and doable, I'd like to start keeping track sooner rather than later. At least I'll know which customers or packages need an upgrade. I can, of course, use Excel, but I can imagine there are better tools for this that list the customers or the frameworks/libraries and their versions. Or I could roll out my own (which should then be registered in itself :D).
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
How much do you want to spend? Apparently there are commercial tools available for your purpose, although other posts indicate they may not be affordable for a small business. Create an MS Access DB. From the 1,000 foot view, 3 tables: Customer Projects, Components (software and hardware), and a join table that links Customer Projects and Components, including the specific version number used for each Component. From there you can create reports that list all Projects (including Components) where the version number of a given component is compared to a target value, e.g., .NET Core version = 2.1 *OR* .NET Core version < 6.0. This is from the 1,000 foot view -- the solution may be more detailed, but it may be the start you need to help you understand what you really need. Or it may be exactly what you need, done on a shoestring. And it's the potential for a commercial product geared towards small software businesses.
-
How much do you want to spend? Apparently there are commercial tools available for your purpose, although other posts indicate they may not be affordable for a small business. Create an MS Access DB. From the 1,000 foot view, 3 tables: Customer Projects, Components (software and hardware), and a join table that links Customer Projects and Components, including the specific version number used for each Component. From there you can create reports that list all Projects (including Components) where the version number of a given component is compared to a target value, e.g., .NET Core version = 2.1 *OR* .NET Core version < 6.0. This is from the 1,000 foot view -- the solution may be more detailed, but it may be the start you need to help you understand what you really need. Or it may be exactly what you need, done on a shoestring. And it's the potential for a commercial product geared towards small software businesses.
Yeah, I've opted to create my own. Not using Access though, but SQL Server. I can create a simple front-end for it too.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
Just wondering how people keep track of all the software and versions they wrote for all their customers? For example, I started out using .NET Core 2.2, but I think I've upgraded everything to at least .NET Core 3.1. Save for one or two projects (maybe three?) it's all .NET 6 or .NET 8 (maybe a .NET 5 or 7 project somewhere?). I've also used Vue from the beginning and I think all my projects are Vue 2 and it seems I now have to upgrade to Vue 3. Same for Bootstrap and who knows what I've been using these past years. I own a small company with about ten customers and thirty to fourty software projects, but it's growing rapidly. Since it's still small and doable, I'd like to start keeping track sooner rather than later. At least I'll know which customers or packages need an upgrade. I can, of course, use Excel, but I can imagine there are better tools for this that list the customers or the frameworks/libraries and their versions. Or I could roll out my own (which should then be registered in itself :D).
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
My company is in a similar situation. We have several large projects that are generic to all clients and over a hundred of small projects that are client specific. We moved to GitHub several years ago and didn't find anything simple to keep track of it all. The missing piece always was the aggregation or list reporting. Using excel always seems too easy to miss something or make a mistake. We wrote a simple app that reads all the csproj files and puts the useful info into a database. For us the key items are the .Net or .Net framework version and all the packages and their versions. It has a simple change log of "new", "updated", "removed" with version info. We use it primarily to track .Net versions and package versions. The cross reference is helpful for looking up where we used some esoteric package. We learned quickly to stay aways from odd numbered .Net versions for client use.
-
My company is in a similar situation. We have several large projects that are generic to all clients and over a hundred of small projects that are client specific. We moved to GitHub several years ago and didn't find anything simple to keep track of it all. The missing piece always was the aggregation or list reporting. Using excel always seems too easy to miss something or make a mistake. We wrote a simple app that reads all the csproj files and puts the useful info into a database. For us the key items are the .Net or .Net framework version and all the packages and their versions. It has a simple change log of "new", "updated", "removed" with version info. We use it primarily to track .Net versions and package versions. The cross reference is helpful for looking up where we used some esoteric package. We learned quickly to stay aways from odd numbered .Net versions for client use.
Exactly what I need as well. I rolled out my own hour registration and billing app, so I'm just adding this to it. Nice side-project for weekends :laugh:
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript