.NET life Day 6: Freelance project + TFS + RPA

in #blog7 years ago

newp.jpeg

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:

  1. E-commerce website easy to manage by someone without computer skills.
  2. Synchronization of product stock between website and ERP.
  3. Incident and improvement management portal.
  4. Internal FAQ Portal for Technical Support Staff.
  5. Shared Documentation Portal.

How will I do it?

  1. 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.
  2. 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...
  3. 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...
  4. 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:

1.PNG

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

  1. Create a directory named GoogleChrome (in my case) in the %PROGRAMFILES\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages folder
  2. 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

  1. Create a text file called product.xml.
  2. 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>
  1. Save the file to the GoogleChrome bootstrapper directory.

Step 3: To create the package.xml manifest file and the software license terms

  1. Create a text file called package.xml.
  2. 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>
  1. Save the file to the en subdirectory in the GoogleChrome bootstrapper directory.
  2. Create a document called eula.rtf for the software license terms. I've copied the text from Google's site.
  3. Save the document to the en subdirectory in the GoogleChrome bootstrapper directory.
  4. 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.

2.PNG

Thank you so much for reading, see you tomorrow!

Sort:  

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) :

Award for the number of comments

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

By upvoting this notification, you can help all Steemit users. Learn how here!

Thanks for your valuable content what kind of RPA tools your using right now

Coin Marketplace

STEEM 0.21
TRX 0.20
JST 0.034
BTC 90603.36
ETH 3085.35
USDT 1.00
SBD 2.98