======Concepts of Git Winch====== //Git Winch// is a simple, yet //elegant// system for managing files and people who work on those files. From anywhere. It is the simplest and comprehensive office management application for small and medium size offices. It handles files, notes for the files, tasks (using Kanban method) and clipboard activities... and help managers/owners supervise what was being done in the office. Think of it as a simple replacement for the usual //Windows File Explorer.// You would start the //Git Winch Client Application// when you start the day at the office. And that is the last application you would close, when you are about to exit the office for the day. (If you have time, read the [[background?do=export_xhtml|Philosophy and Background]] before the rest of this document. It is //optional.// But do read it sometime.) Firstly, understand the who/what/how/why of this simple, elegant, way of working at an office. Then you should have a broad overview on its inner workings. **Who is it for?**\\ This utility is useful for every office -- our focus is on small and medium size offices. But large ones can also use this, for various divisions in that office. It can be used by everyone in the office: Owners/managers //as well as// all those who work on files and tasks in the office. **Why is this needed?**\\ There are two critical reasons why offices fail: * a) The people in the office are not happy with timings and place of work and the way they work * b) There is no proper system for data management: Especially data security, backup and version control. //Git Winch// solves both the problems quite well. We are all living in a knowledge driven world. Offices can ill-afford to lose data or people. Offices cannot lose their hard-earned data to others. We cannot become a puppet to large organizations wanting to cleverly use our data to train AI and sell us advertisements. Offices also may not get talent from geographically near locations. Employing people remotely has also problems: Some may run away with your entire data or some immature ex-employee destroy your data. Or; what happened to a friend of ours: Some intern using a computer on the office LAN clicked a wrong link, and that resulted in Ransomware attacking ALL the computers of that office. Offices therefore needs to monitor the work of people and how much effort they are putting in. Also, offices need to be free to use any kind of files, with not many rigid controls on how they are being used. //Git Winch// is possibly the only data and people management software that handles all the above mentioned points rather well, very flexibly. You'll get to know why this utility is so important once you read the advantages collected together [[/advantages?do=export_xhtml|here.]] **What does it do?**\\ Owners can create repositories at a free hosting service (a //repository// is a place to keep your files ) ... The office workers can access those files from any geographical location. So people can work remotely or in office or both. These repositories are NOT kept with us. Your files are kept in repositories at remote Git hosts (either //Gitlab// or //Github// or //Gitea//) under you, the owner's, total control. We can never access your files. The owner of those repositories can assign members who are allowed to work in those repositories. Such members can use the //Git Winch// to clone (and later //pull//) files from the repositories at the remote hosts, and launch those files in the application associated with it. Work is assigned only on a //need-to-know// basis. So the entire data of the office is NEVER given to any one office worker. Only the owner/manager need to have an account at the remote Git host. Rest of the people need not bother to get an account there. So it is extremely simple for people to understand. ...err... Are you thinking: "What is a //Git Host// and //Git//?". Open up the Table of Contents here and you will be able to locate the topic where it is explained. **How does it do this?**\\ //Git Winch// has two components. One works is a local desktop application on your Windows computer. The second part works inside a browser connected to a //coordination server.// The desktop application internally relies on the //Git// version control system. //Git// is quite popular in IT companies to manage files. However it is complex to learn and use, so non-IT companies normally do not use it. We have simplified it a lot. The Desktop Application of //Git Winch// that you install on your Windows computer is an elegant Git client. It manages files picked up from one of 3 Git hosts (Gitlab or Github or Gitea), lets anyone who has this utility on their computer work on it; and push the modified files back to the Git host. The coordination server does its magic as a web-app in a browser. The web-app runs a Kanban system and a file-coordination announcer. The Kanban is used to handle tasks, voice-messages and chat. Hence, this is a unique //hybrid// application i.e. a desktop application along with the web-app. If you are not in front of your computer; where you had installed //Git Winch's// Desktop application, you can separately work on the web-app only. Anyone can learn to use //Git Winch// in about half an hour or so. **How does it work, technically?**\\ To understand its technical side: Look at //Git Winch// as an elegant //Git// based client specially made for teamwork. //Git Winch// coordinates the work between the members of a Git repository. Unlike other Git clients (e.g. TortoiseGit or command-line Git) which practically has nothing to say about other members working on that repository, //Git Winch// will keep other members informed about which files they are working //(i.e. working on the files in the same repository.)// It prevents the same file being worked-upon, thus it is useful for working on //binary files.// Members can leave additional notes on each and every file, if they so want -- such //meta-information// about files can be very useful to help others working on those files. The managers of such members are also happy as they can see the list of filenames that are being currently worked upon... and by whom. //No more attaching files to emails, chat messages and creating confusions all around!// The web-based Kanban system helps in the task management of everyone in the office. **How much does it cost?**\\ //Git Winch// by default is a //pay-as-you-go// system. Everyone is welcome to start using Git Winch without any costs whatsoever. A small amount of credits are deposited into all new accounts, so that you can get a //taste// of what //Git Winch// can achieve. We do not have any concept of //expiring// an account. You are with us for life. (Of course, you can email us at admin@gitwinch.com and exercise your right to be forgotten) In short: Once your credits run out, the account is not deleted. It stays paused. You can restart using it anytime by paying for additional credits. For flexibility, everyone working in an office pays for their own actions on our system. This may perplex some and it invokes a natural question: //Why should an office worker pay for the activities he/she does for that office?// Do not worry. You need not always pay for your own credits. We have also given a way for someone to //transfer credits// from that person's own account to someone else. We thought long and hard about this, and since //Git Winch// can be used in any kinds of offices we found that this best for all situations. For example; startup comprising of 4 partners can use //Git Winch// and each one pay for their own usage. But in another case, if an office employs a temporary worker, the owner can transfer some of his/her credits to that worker as needed. //**NOTE: In some events (e.g. when we conduct special demos) we also offer full lifetime purchase too and multiple ways to set this up -- for example; you can setup the coordination server at your own dedicated or VPS server too. The lifetime-price would be announced at those events.**// =====User Interface===== You can look at //Git Winch// as a simple; yet sophisticated, replacement of the regular Windows File Explorer. However, //Git Winch// uses a //sparse// or //minimalist// interface. You may have seen some officers using an //executive desktop organizer.// The UI of Git Winch is something like that. You open it up and lay it in front on your computer desktop and all work that you do emerges from that simple organizing system. {{:officeorganizer.jpg?400|Executive Desktop Organizer}} **Some points you may need to know:**\\ The application does not have a //close// or //quit// button. You can simply use the 'x' at the top right of the windows inside //Git Winch.// For help, even if you hover over a component and press //F1// hot-key, it will display a context-sensitive help. In fact this is a good way to learn //Git Winch//. Just hover over any of the UI elements and when you see a small status-bar help for that, press F1 to learn more about that. =====Inner Workings===== Normally, we go seek out a file on computer using the Windows File explorer. Then we double click on that file to open it in its application. For example; if you want to write a Microsoft word file, you would locate the correct //.docx// file in File Explorer and then double click that. It will get opened in Microsoft Word, and you then work on it; and save it. What is wrong with that, you can ask? Sometimes this can be okay. But there can be subtle issues. And when the issues do turn up, they an be a serious headache; often unsolvable if you did not use //Git Winch//. For example; if you edit and save the file and then quit Word, and later on you again load it into Word at some other time and you say "Ah, I really want the older version. I think that was better" -- now you are stuck. Because Microsoft word has already overwritten it! That's why //Git Winch// has an elegant way to revert back to earlier versions of such a file. Using //Git Winch// on a day-to-day basis, you are requested to do two additional steps. Before you launch the word file, you would request //Git Winch// to do a //git pull// That action will result in fetching the very latest version from the central repository... That means, if someone else had been working on the same file before you, now you would get the one that he had worked upon! And the second action is done //after// you had edited and saved the edited file. This time, you need to //push // the file back to the central repository. The usual action you need to invoke, is called //add and send// Think of this like putting brackets around the actions you normally do: [ //pull//, do the work, //push// ] Since you //bracketed// the normal work you do between a //pull// and a //push// action, //Git Winch// ensures that your work is made available to others too -- so you can work from home, do all the above (bracketed between "pull" and "push") and somewhere else, your colleague can also do the same sequence of activities, and thereby both of you end up working collaboratively. Each "Push" results in a new "Commit ID" at the Git System. You can easily read the history of the commits and revert the file (or the entire repository) to any of those Commit IDs. **IMPORTANT**\\ Of course, the owner/manager would need to first have the files stored in the central repository at one of the compatible Git hosting service (either //Gitlab// or //Github// or //Gitea//) and that person should get the correct API key too for that host. See [[/tsmanage2?do=export_xhtml|management]]. A very useful advantage of //Git Winch// is that everyone works using //SSH Deploy keys//. This is highly secure. The moment an office worker quits (or is terminated) in an office, that person's Deploy Key can be deleted in a second and the person no longer has access to any data that he/she had access to earlier. Only the repository owner need to have an account at one of the aforesaid Git hosts. The rest of the people who are 'members' that work on that repository do NOT need a membership at that Git host. Everyone; including the owner, does the Git work using the aforementioned Deploy Keys. **Groups**\\ //Git Winch// uses a coordination server that ensures that all the office people (and the owner/manager) can smoothly work together. That server also has an elegant Kanban system from us (which can also be used separately). This means not only you can work on files, but you can also create and manage tasks in the office too. //Git Winch// has two kinds of "groups" You can create any number of groups on the Kanban part (i.e. the one that runs in the browser via the coordination server) There is another type of "group" too: You can separately be part of another group who together work on the same //Git Repository//. These two grouping systems work differently. But usually, an office would have a group of members for particular //Git Repository// and then give the same members access to a Kanban group too. But this need not be always the case. Sometimes you may have good reasons for keeping the Kanban membership different from the repository memberships. ----- [[/topics?do=export_xhtml | Table of Contents]] | [[/configuration?do=export_xhtml|Configuration]] | [[/advantages?do=export_xhtml | Advantages]] | [[/tsManage2?do=export_xhtml|Management]] | [[ /advanced?do=export_xhtml | Advanced uses]] | [[ /troubleshooting?do=export_xhtml | Troubleshooting]]