.NET life Day 6: Freelance project + TFS + RPA
Hey there! The weekend is over and is time to work!
This week I will start a project that I am doing independently, it is a client that has come out by chance.
A good friend of mine always asked me for help to improve some things on the website of the company where he works, until one day he told me that talking to his boss, they had decided to take the big step and give a boost to his business through his site Web and have chosen me to help them achieve it.
What do they want to do?
Well, this is the bigger picture:
- E-commerce website easy to manage by someone without computer skills.
- Synchronization of product stock between website and ERP.
- Incident and improvement management portal.
- Internal FAQ Portal for Technical Support Staff.
- Shared Documentation Portal.
How will I do it?
- E-Commerce Website: for this, I will use nopCommerce , it will save me a lot of work and the management panel is great, it is also Open source so I can make any change I need.
- Synchronizer: I haven't decided yet how I'll make this one, according to ERP technical support the only way to extract the information I need is to export it to a CSV file because the tool does not have an API with which I can interact...
- Ticketing Portal: I originally proposed Jira, but paying for every users did not like them very much so I have to do it from scratch xD I am excited by the fact that I can do it as I want, but on the other hand, I am afraid that the customer starts to get too creative...
- Portal FAQ and documentation: for this one, I also thought in Atlassian and proposed Confluence, but the same problem with users came up.
All this set of projects has an estimated time of 6 months, ie by December this year must be all fully functional, I am a very demanding person with myself and responsible so I am sure that I will achieve it
What will I use during development?
- ASP: NET MVC
- SQL Server 2014 Express
- Visual Studio 2015
- Web API 2.0
- Angular
- TypeScript
- Entity Framework
- Dapper
These are some of the things I have in mind to use and I'm really excited to get started.
And what about my work in Query Software?
TFS MIGRATION
Well with this task the debate continues, I insist on starting fresh in VSTS and we remove headaches, like what? Since one of them is the theme of unifying the projects in a single VSTS account.
Currently, in TFS we have 3 collections of projects, I have looked at how projects could be unified in a single collection before migrating to VSTS but reading this discard the idea immediately.
Hopefully, we will soon agree on some solution so I can post about the migration procedure in detail. 😃
RPA
For this project we are using ClickOnce for installation on computers, the configuration is very simple. In the project properties you should go to the "Publish" tab and you will see something like this:
The important parts are the "Application Files ..." where we say which assemblies we want to take with us and "Prerequisites ..." where we tell what do we need installed previously in the machine for our application to work, things like .NET framework, SQL Server, etc.
These predefined packages can be found in %PROGRAMFILES%\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages
The issue is that I wanted to require that Google Chrome be installed on the target machine and this package does not come by default as you may have imagined. What did I do to add it to the list?
Creating Custom Bootstrapper Package
We need the following:
- A product.xml manifest file to describe the contents of the bootstrapper.
- A package.xml manifest file to list the localization-specific aspects of your package, such as strings and the software license terms.
- A document for the software license terms.
Step 1: To create the bootstrapper directory
- Create a directory named GoogleChrome (in my case) in the %PROGRAMFILES\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages folder
- In the GoogleChrome directory, create a subdirectory named en. (Create a new directory for each locale)
Step 2: To create the product.xml manifest file
- Create a text file called product.xml.
- In the product.xml file, add the following XML code.
<Product
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
ProductCode="Google Chrome,Version=v1.3.33.5">
(html comment removed: Defines the list of files to be copied on build. )
<PackageFiles CopyAllPackageFiles="false">
<PackageFile Name="ChromeSetup.exe"/>
</PackageFiles>
(html comment removed: Defines how to run the Setup package.)
<Commands >
<Command PackageFile="ChromeSetup.exe" Arguments=''>
<ExitCodes>
<ExitCode Value="0" Result="Success" />
<ExitCode Value="-1" Result="Fail" String="AU_Unaccepted" />
<DefaultExitCode Result="Fail"
FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
</Commands>
</Product>
- Save the file to the GoogleChrome bootstrapper directory.
Step 3: To create the package.xml manifest file and the software license terms
- Create a text file called package.xml.
- In the package.xml file, add the following XML code to define the locale and include the software license terms.
<Package
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
Name="Google Chrome"
Culture="Culture"
LicenseAgreement="eula.rtf">
<PackageFiles>
<PackageFile Name="eula.rtf"/>
</PackageFiles>
(html comment removed: Defines a localizable string table for error messages. )
<Strings>
<String Name="DisplayName">Google Chrome</String>
<String Name="Culture">en</String>
<String Name="GeneralFailure">A failure occurred attempting to launch the setup.</String>
</Strings>
</Package>
- Save the file to the en subdirectory in the GoogleChrome bootstrapper directory.
- Create a document called eula.rtf for the software license terms. I've copied the text from Google's site.
- Save the document to the en subdirectory in the GoogleChrome bootstrapper directory.
- If necessary, create a new package.xml manifest file and a new eula.rtf document for the software license terms for each locale.
Now when you open the prerequisites you will see the new option.
Thank you so much for reading, see you tomorrow!
thanks for your post. it helps and first photo is funny :D
:D thanks to you for reading!
wow its nice...great info..
Thanks! :D I'll be posting more stuff like this every day ;)
Congratulations @figox! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Thanks for your valuable content what kind of RPA tools your using right now