What is the better form to use Configuration Management in organization to control documents - configuration-management

I'm thinking sugest to my organization, to implement SVN for all users in my orgazination.
What is the best form to implement that?
What is the best tool to do this?
What is the best process to implement this?
I have any ideas to implement that. But I would like to hear some success stories, not to waste time on things that will not work.

In my organization we have successfully implemented SVN using a Windows server running Apache and for client access we use TortoiseSVN. The server is configured to access our information via LDAP.
We not only use it for keeping track of HTML code that goes into a huge content management system, but we also use it to store supporting documents and wireframes for those pages that are in Microsoft Word document form. TortoiseSVN diff is amazing for our Word wireframes. It will use change tracking built into Word to show us the customer changes made to the wireframes.
The drawback is that TortoiseSVN did have a learning curve and we actually had to teach users how to use it and the users were already technically savvy. So it will be really difficult to get average users to use TortoiseSVN properly.

Related

How to keep my vb.net program relatively secure

I wrote a small program in vb.net and I'm looking for a simple way to keep people from just copying the executable and running it on another machine for reverse engineering without the installer. I understand that if people want the program bad enough they will figure out a way to get a hold of it, I'm basically just looking for some kind of deterrent to keep our competitors from walking around and copying it.
Logan,
The bad news is that you cannot stop people from reverse engineering your desktop application. You have 2 options:
Create a web application instead. The code will run securely on your server.
Use Remote Desktop Services. This way you can install your program on your server and let the users use it via RDS. Here is an article that illustrates the concept and how to implement it on Microsoft Azure: https://technet.microsoft.com/en-us/library/cc755055.aspx
The standard approach is to create a license key that will only work on a specific machine and store it in the registry. This can be something as simple as:
When your app starts get a unique machine id (http://www.dreamincode.net/forums/topic/181408-get-unique-machine-ids/)
Perform a one way hash on it
See if this value is stored in the registry
If it isn't, display a dialog displaying the unique machine id and asking for the 'license'
Accept input of the license so they don't need to ask again
You can manually calculate the one way hash yourself for computers that you want to run the software on.
This won't stop a determined hacker but it'll keep the 99.9% of people who can't hack your software honest.

Protect source code at delopment time in tfs

I use TFS , My question is how can i sure about that developer who work on a project can not copy source file and evict or extract them from office by Email,flash memory,USB,... ?
Is there any solution with TFS?
Can anyone help me?
TFS has no ability to do this, once a file has been retrieved from TFS it is just another text file on your computer you will have to use other tools to do what you want.
Opening it up to tools outside of TFS it is extremely difficult to do what you want to do but it is possible. Your best option is contact a security firm that often works with government defense contractors and have them set up your network IT security, some government defense contractors have the same requirements as you list and they would know all the things you would need to do.
Off the top of my head some of the things you will likely need to do is:
Use group policy to block writeable media from being used to block flash drives and CD-Rs.
Block internet access to stop webmail.
Block printing to stop people printing out the source then using a scanner and OCR software on another computer to turn it back in to code.
Not allow any device that can take photographs in areas where source code may be on screen as the same OCR procedure could be done with photographs.
This list is no where near complete and I would recommend contacting a security firm to get a complete list.

Automatically triaging and/or resolving Jira tickets using expert systems?

Has anyone looked into auto-triage'ing and/or auto-resolving Jira tickets, using expert systems such as LogicNets?
Goal is not to completely automate all tickets, just reduce workload needed to auto-resolve simple tickets, and enable support engineers to focus on more complicated issues.
The most flexible way is using REST API, check https://docs.atlassian.com/jira/REST/latest/
If you tool can do some sort of GET or POST with a trigger, or could be programmatic extended then you could do almost everything in Jira, you can even use shell scripts with curl to make the rest calls in linux/mac terminal.

Many user using one program (.exe) that includes datasets

I created a time recording program in vb.net with a sql-server as backend. User can send there time entries into the database (i used typed datasets functionality) and send different queries to get overviews over there working time.
My plan was to put that exe in a folder in our network and let the user make a link on their desktops. Every user writes into the same table but can only see his own entries so there is no possibility that two user manipulate the same dataset.
During my research i found a warning that "write contentions between the different users" can be occur. Is that so in my case?
Has anyone experience with "many user using the same exe" and where that is using datasets and could give me an advice whether it is working or what i should do instead?
SQL Server will handle all of your multi-user DB access concerns.
Multiple users accessing the same exe from a network location can work but it's kind of a hack. Let's say you wanted to update that exe with a few bug fixes. You would have to ensure that all users close the application before you could release the update. To answer you question though, the application will be isolated to each user running it. You won't have any contention issues when it comes to CRUD operations on the database due to the network deployment.
You might consider something other than a copy/paste style publishing of your application. Visual Studio has a few simple tools you can use to publish your application to a central location using ClickOnce deployment.
http://msdn.microsoft.com/en-us/library/31kztyey(v=vs.110).aspx
My solution was to add a simple shutdown-timer in the form, which alerts users to saving their data before the program close att 4 AM.
If i need to upgrade, i just replace the .exe on the network.
Ugly and dirty, yes... but worked like a charm for the past 2 years.
good luck!

Dropbox API - Using Dropbox as a server

I was wanting to use a file sharing server to keep certain files up-to-date and constant across multiple instances of my application across multiple computers - like (for example) writing a multiplayer game, which stores all the player's positions in a text file, and uses something like Dropbox to keep the text file constant across all the applications, and each application instance can change the file with that application's player's position, and then the rest of the applications can update accordingly. This is only an example, and is not what I intend to do using this technology. What I want to do does not rely on fast sharing of data very quickly - but only periodically downloading and updating the text file.
I was wondering how I might be able to do this using the Dropbox API for Objective-C without prompting the user for any Dropbox username/password - just store a single Dropbox account's login information, log into it automatically and update/download the file stored on it?
From what I have found out from experimenting, Dropbox prompts users for their passwords via a web-broswer, and is designed to accommodate multiple accounts, whereas I only need to accommodate the 'Server' account.
So, is there anyway to do this sort of thing using the Dropbox API, or should I use something else. Or do I need to find out how to write my own server. Using some sort of file sharing API seems a lot easier to me than writing an actual server.
Thanks for any help,
Ben
You might think about using Google App Engine (GAE). I had a similar requirement recently and I'm thinking this is a good option when you want centralized data. Plus you can do the no-browser account login by using your own custom authentication, or I think it's even possible via OAuth? Depends on how sensitive the data is I guess. I just rolled my own.
From my research I found that using Dropbox as a server has some issues with scalability, since you'll be limited to maybe 5,000 calls per day. source It's built on Amazon S3, so you could also look at using that directly.
GAE lifts that limit up to 675,000, but can be increased up to 91 million for free.
https://developers.google.com/appengine/docs/quotas
I did find an open-source project for doing this with Java, alternative you could look at Python example
I've written a daemon that continuously checks for updated files and syncs them. I wrote it for my own file manager iOS app. You can find the implementation here:
https://github.com/H2CO3/MyFile/tree/master/DropboxDaemon
I'm personally not an iOS developer but I came across this question while looking for something else and thought I would offer up another potential solution to the OP's question.
Microsoft just released something called Azure Mobile Services which supports iOS development (among other platforms). It's basically a convenient way to set up a back end system complete with push notifications, authentication, etc. without rolling your own. You don't need to know anything about Azure or servers as the setup process walks you through most of it. It is new so keep that in mind, but it looks promising for situations like this.
Here's a 10 minute video explaining how to use it with an iOS developed app along with links to more documentation:
http://channel9.msdn.com/posts/iOS-Support-in-Windows-Azure-Mobile-Services/
Hope this helps.