Integrating SourceAnywhere into Sparx Systems Enterprise Architect

Sparx Systems EnterPrise Architect is a high-performance modeling, visualization and design platform based on the Object Management Group (OMG)’s Unified Modeling Language (UML). It provides full life cycle modeling for business, software, and systems. In this tutorial, I’d like to share how to configure the version control software – SourceAnywhere – for Sparx Systems Enterprise Architect.

SourceAnywhere Downloads & Installation

Version Control Software Configuration

  1. Launch Sparx Systems Enterprise Architect and create a new project.
  2. Right-click the project root to show the context menu. Select Package Control, and click Version Control Settings.Start Version Control Settings Read more

How to Co-work with Git on SourceForge and Github

Basic Steps:

  1. Login to Github or SourceForge to fork (not clone) a project.
  2. Clone the forked project from your remote repo to your local disk.
  3. Coding and commit changes to your local repo.
  4. Push your changes to your remote repo.
  5. Send a merge request to the project owner.
  6. The project owner can finally finish the merge work after receiving the request.

SourceForge

I will show you the example about how to let multi-contributors collaborate for the MergeHero project, which is shown as below.

MergeHero

  • Visit the MergeHero homepage, and switch to the code repository. If you are not the project owner, you will not have the RW permission.
  • To get the RW permission and contribute your code, click Fork.
  • Now, you have obtained the RW permission. Use git command to create a local clone of the remote project.
  • Add and commit your changes locally.
  • Push changes to the remote repo with the following command: git push origin master.
  • It’s ready to send the merge request (there is a button on the SourceForge page) to the project owner.
  • The project owner will receive the notification with a request link, like https://sourceforge.net/p/mergehero/code/merge-requests/4/.
  • Open the link, you can see the commands for merging the source code.

merge

  • Execute these commands, and push the changes to the remote repo:
git checkout master
git fetch git://git.code.sf.net/u/adambj/mergehero master
git merge 7225ea95305924737e4f299987235328f5336d9a
git push origin master

Github

It’s similar on Github. Let’s glance at Dynamic .NET TWAIN SDK. There is a Fork button located at the top-right corner.

Dynamic .NET TWAIN github

  • Click Fork to get a copy of repository for yourself.
  • Here are some same steps: clone repo, write code and commit changes.
  • To send a merge request on Github, it’s a little bit different. Click Pull Requests.

pull request

  • Create and send the request to notify the project owner via email.
  • Open the link to merge the code:

Github merge

  • Click Merge pull request to finish the merge work.

With Github, you can compare and review the source code, and do the merge work directly on the server side. Pretty convenient! If you have any questions, please feel free to contact me at {desmond at Dynamsoft dot com}.

Using Git-TFS in Visual Studio 2013 Express

Microsoft has released Visual Studio 2013 Preview, and announced the availability of Git for Visual Studio and Team Foundation Service. Today, let’s go through the new experience of version control in VS 2013 Preview.

Account Creation

Microsoft provides Team Foundation Service Free Plan for up to 5 users. I’m using the service for demo in this article. If you don’t have an in-house TFS Server, you can also take advantage of it and sign up for an account here. If you need a TFS Hosting service with good customer service, you may check out Dynamsoft TFS Hosting plans.

After creating an account with Microsoft TFS Service, you will be directed to your TFS page like the one shown below. You can see two options for creating a team project. The account URL is located below “Getting started”.

TFS main page

Team Project Creation

Click “New team project + Git” to create a team project using Git as the source control provider.

create git project

 

Specify the project name and select Git for version control.

specify new project

 

This is the page for my newly created team project. After creating the team project, we can then push the local repo to remote server.

project created

Local Project Creation

Create a new project in Visual Studio, and do not forget to check “Add to source control”.

create local project

 

Choose Git as your source control system.

choose git

 

Now you will be able to view the changes of your source code.

changes of source code

 

Commit your code.

commit changes

 

Right click a file in Team Explorer, you can compare version differences with syntax highlighting.

diff files

 

Also, checking repo history is convenient by right click.

view history

Publish to Remote Repository

Switch to Commits.

switch to Commits

 

Find Git URL on your TFS account.

git URL

 

Copy the URL to remote repository configuration, and click “Publish” to upload your local files to remote server.

publish to remote repo

 

Check commits information online.

commit log

 

Import Git from GitHub

Clone Git repo.

git clone

 

Download source code to local disk.

clone finished

 

Double-click your repo and click “Open” to mount your project.

open cloned project

 

That’s all about how to simply use Git between Visual Studio 2013 Express and Git remote server. Don’t hesitate to email kgao@dynamsoft.com if you have any idea to share with me.

 

 

SourceAnywhere 4.4 is Released!

I’m pleased to announce that Dynamsoft SourceAnywhere 4.4 is released on July 9th, 2013. This is a SQL server-based version control software designed as a VSS replacement.

Based on all our customers’ valuable feedback on SourceAnywhere Standalone 4.3, we have made some further improvements in this new version.

Highlights in SourceAnywhere 4.4:

    • Improved the performance of LAN file transfer for the “Get” and “Check out” operations
    • Optional warnings available at Tools -> Options. You can choose to display a warning message when
      • Check out an already checked out file
      • Exit SourceAnywhere Client when there are checked out items
      • Delete/Purge a file or project
    • More options in the “Add Files” dialog
      • You can “Check out Immediately” the added files
      • You can “Remove local copy” of the added files
    • Do Diff when checking in a file or project

 

Check out the Release Notes >>
Download the 30-day free trial >>
How to upgrade to the latest version? >>

If you have any questions or comments regarding the new release, please feel free to let me know (kgao@dynamsoft.com).

Cheers!

How to Source Control SQL Server Stored Procedure using TFS in VS 2012?

In this article, I will share with you on how to version control your SQL Server Stored Procedure using TFS in Visual Studio 2012.

Dynamsoft Barcode Reader SDK
Ads Powered by Dynamsoft

Here I am using Dynamsoft TFS Hosting service. If you don’t have a TFS account yet, you can sign up online here with free trial.

Now we can follow the steps below to add Stored Procedures to TFS for version control.

  1. Launch VS 2012. Open an existing SQL Server Database Project or create a new one.New sql database project
  2. Then we can import your database in Solution Explorer.  Right-click on the project, and click Import -> Database…Import the database to the project
  3. We will be prompted with Import Database dialog below.Import Database dialog
  4. Click New Connection… and specify the Server and database name in Connection Properties window. And click OKConnection Properties
  5. After finishing importing the database objects to the VS project, we can now add it to TFS for source control.
    First, make sure Visual Studio Team Foundation Server is the current source control provider at menu Tools->Options->Source Control.Right-click the solution file in Solution Explorer and click Add Solution to Source Control…Select  the Team Foundation Server and Team Project to put your database project.

    Connect to Dynamsoft TFS 

  6. Specify the location to store the project.Add to TFS
  7. Now you can manage the versions of the stored procedures in TFS.TFS Source Control Commands

 

 

SourceAnywhere Brings Fully Version Control Support for Visual Studio 2012

vs12 n saws

I am happy to announce that the latest SourceAnywhere release (from ver. 4.2) brings fully support for Visual Studio 2012.

Visual Studio is one of the first and most important IDEs that SourceAnywhere series support and integrate with ever since 2003.

VS 2012 comes with more colors in the main UI and the flexibility to adjust it according to your taste. For instance, color theme, fonts and colors for different display items, fully customizable toolbars and commands. It has 5 editions: Ultimate, Premium, Professional, Test Professional and Express. Moreover, Team Foundation Server 2012 is shipped with VS 2012.

Comparing with TFS, SourceAnywhere (we call it SAW for short)is a truly agile source control software designed for local and remote development teams. If you’re experiencing inefficiency – exceptionally large amount of time cost while doing the essential source control operations like get, check in or check out, using it locally or over the internet, with developers located worldwide, then SAW is the best source control product that you should try. It focuses on security, speed, team collaboration, usability, and integration with IDEs especially Visual Studio, Eclipse and Dreamweaver. It is a pure, simple and easy-to-use source control tool, which does it should does and without hassles, complexity or costly user training.

SAWS4.2About

When I look back to the progresses we have made on SAW in this very year of 2012. We successively rolled out several major updates to it, SAW 4.0, SAW 4.1 and SAW 4.2 which was brought out 2 weeks ago(11/26/2012). Particularly in SAW 4.2, we upgraded SourceAnywhere Add-in to support Visual Studio 2012. It makes the performance of SAW, when working with Visual Studio 2012, faster, smoother and more efficient.

After installing SAW 4.2, you can enable it at VS 2012 menu Tools/Add-in Manager.

add-in manager

By far we have received quite a few positive feedbacks as well as some constructive suggestions from SAW users. These are the powers that motivate our R&D team to keep evolving our products, especially SAW series.

Version Control: Manage and Protect Your Source Code

Source code is the most treasure asset to us developers. When expecting a version control tool to better manage the projects and documents and save us time, we also require it to be a secure one.

Dynamsoft SourceAnywhere, a SQL Server-based version control tool designed for both central and distributed teams, protects your data on every level, ranging from the unique database encryption, file content permission, to neat access permissions and data protections over the network.

Version Control Security

I.        Content Level

a) Database Encryption

This is a unique and important security feature provided by Dynamsoft’s version control tools. It encrypts your database on the file content level, and users are not able to view the file unless they have the permission. Under the unlikely worst scenario, even if your database is copied without your permission, no one can read a single file in your repository unless they know your passphrase.

b) Cache File Encryption

To speed up the performance for distributed teams, the team introduced the cache mechanism to SourceAnywhere. Cache file encryption is provided to protect these temporary files.

c) Microsoft SQL Server as the back-end to store your databases

Compared with the file-system mechanism, Microsoft SQL Server is a robust and mature tool to store the data, especially when you have large projects to manage. The security features provided by SQL Server give a great protection to your data. The features include database authentications, access permissions, database backup and more.

II.        Safe data transmission over the network.

SourceAnywhere supports Secure Sockets Layer (SSL) and Blowfish to secure your data.

Version Control SSL and Blowfish

I.        Access Level

a) Permissions

SourceAnywhere allows you to manage the access permissions on 2 levels: Repository Level and Project Level.

Version Control Access Permissions

b) Password Policy.

The password complexity and the expiration settings greatly prevent hacks and unexpected accesses. The user lock-out feature available in SourceAnywhere gives you another security lock. For example, you enable the “Lock Out” option and give a chance of 3 unsuccessful login attempts. It’s almost impossible for a hacker to guess out your password, which combines number and characters at a various length, within 3 times.

Version Control Password Policy

c) Windows Authentication

On top of the password policy, the Built-in and Windows Integrated authentications are also available in SourceAnywhere.

Version Control Authentication

If you’d like to check out the security features of SourceAnywhere by yourself, the 30-day free trial is available:

SourceAnywhere 30-Day Free Trial Download

 

SourceAnywhere 4.1 is released today!

I’m glad to announce that Dynamsoft SourceAnywhere 4.1 is released on 16th October 2012. In this version, we have some new features and improvement.

Highlights in SourceAnywhere 4.1:

  • Improvement on user experience in File Property Dialog.
  • Added support for sharing files via drag & drop.
  • Added auto refresh option.
  • In Command Line, added support for multiple check-out and display sub-folder list.
  • Display complete check-out user list in Check-out column if file is multiply checked out.
  • Added support to delete files in the result window of Wildcard/Status Search.
  • Other minor bug fixes and tweaks.

Check out the release note

Get 30-day Free trial of SourceAnywhere

If you have any comment or feedback, please feel free to let me know.

How to auto-deploy web application with TFS Build Server

Provided as part of Visual Studio Team Foundation Server, Team Foundation Build enables developers/managers to manage the projects, from version controlling the source code, running associated unit tests, to releasing builds and publishing build reports. In this article, I’ll share with you on how to take advantage of TFS Build to auto deploy a web application to your web server.

TFS Web Deploy

1. Install Visual Studio 2010. In this article, we take Visual Studio 2010 for example.

2. Install TFS Build Server.
You can set up a local build server by yourself. If you are using the TFS Hosting service provided by Dynamsoft, you can ask to install the Build Server add-on for your account.

3. Install Web Deployment Tool on your TFS Build Server.

4. Install Web Deployment Tool on your Web Server and set up the site for your web application.
Note: Please change the .NET Framework Version of the site’s application pool to v4.0 in IIS and make sure the firewall or any antivirus software doesn’t block port 8172.

5. Add the following arguments to the “MSBuild Arguments” of your build definition. Separate them using space.

TFS Build Arguments

/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:MSDeployServiceURL=https://<server name>:8172/msdeploy.axd
/p:DeployIISAppPath=”TestSiteForDeploy”
/p:CreatePackageOnPublish=True
/p:MsDeployPublishMethod=WMSVC
/p:AllowUntrustedCertificate=True
/p:UserName=***
/p:Password=*****

To edit a build definition, you must have the Edit Build Definition permission. To set the permission, you can choose the target project in Team Explorer, and right-click Builds -> Security. In the Security dialog box, choose the user or group you want to grant the permission to, for instance, [DWT]\Builders. And then confirm the Edit build definition option is set to Allow.

TFS Build Security

With the above settings, the build result will be deployed to your web server automatically when you perform Queue New Build (Team Explorer -> right-click Builds -> Queue New Build).

It’s just a quick review of auto-deployment. Hope the information helps you enable the feature smoothly. If you have any comments, please don’t hesitate to leave them below for discussion. You can also reach me at kgao@dynamsoft.com.

 

How to speed up File Search in version control?

SourceAnywhere is a SQL Server based version control tool designed for distributed teams. Since version 4.0 released on Aug 7, 2012, the tool supports “find in files”, which helps you search and navigate the source tree in seconds. In this article, I will introduce you to the basic technologies about the search feature in version control.

SourceAnywhere 30-day Free Trial Download
Sign up a Trial Account with the Hosting Edition of SourceAnywhere

Wildcard Search

Search for a specific document based on the file name. You can go to “SourceAnywhere Client -> Tools -> Wildcard Search” and enter the complete or part of the file name to “Wildcard”.

For instance, to search for a file named scanning.aspx, you can type scanning.aspx, scanning or scan to find the file. To narrow down the search result, you can choose the search area, and even filter the files by check-in date and/or file size.

wildcard search

Content Search

Besides Wildcard Search, you can also do the content search. The feature is quite useful when you have a relatively large project and/or have a distributed team cooperating together and working on the same project.
To do Content Search in SourceAnywhere, you can go to “SourceAnywhere Client -> Tools -> Find in Files”. In the dialog box, you can enter the keywords you are looking for. For instance, if you want to find the HTTPUploadAllThroughPostAsMultiPageTIFF function, you can enter “httpupload” to “String”. If you are not sure which path the file containing the upload function is located in, you can type $/ to “Item” as you can see below.

find in files

SourceAnywhere introduces the following techniques to help you narrow down the search range and get a better content search experience:

1. Regular Expression

A regular expression provides a concise and flexible means to match (specify and recognize) strings of text, such as particular characters, words, or patterns of characters. This can be used when you only remember part of the keyword you are looking for.
Regular Expression Basic Syntax Reference haracter Value

haracter Value
. Wildcard: any character
* Repeat: zero or more occurrences of previous character or class
^ Line position: beginning of line
$ Line position: end of line
[class] Character class: any one character in set
[^class] Inverse class: any one character not in set
[x-y] Range: any characters within the specified range
\x Escape: literal use of metacharacter x
\<xyz Word position: beginning of word
xyz\> Word position: end of word

For detailed information, please refer to Findstr.

How to enable Regular Expression

a. Check the “Use regular expressions” option in “Find in Files”.
b. Make sure that “Cache file” and “Cache file all versions” are checked, and in the meantime “Encrypt cached file” is unchecked. The options can be found at “SourceAnywhere Service Configurator -> Cache Settings”.

SourceAnywhere Cache

2. File Filter

As the wildcard search, you can filter the files by the check-in date and file size. After you give the conditions and request for the search result, you’ll get the target file or a list of files that match the given conditions.

search result

Afterwards, you can view the files, export the search result or check out the target file directly.

3. Windows Index Search.

To speed up the search process, Windows Index Search is supported by SourceAnywhere. Together with the cache mechanism supported by SourceAnywhere, the version control tool will add the list of cached files to the Windows Search index. In other words, after you get or search for a file once, you’ll have a much faster search experience from the second time.

How to enable Windows Index Search

SourceAnywhere will use Windows Index Search if the “Use regular expressions” option is not checked in the “Find in Files” dialog box.

Conclusion

After you add your projects to the version control tool, you can use Wildcard Search and Find in Files (Content Search) to organize the files and get the target files without any effort.