[Plugin] Team Edit - synchronised modelling v0.1.5 (alpha)
-
TeamEdit allows two or more users to edit a Sketchup file at the same time. Changes made to components in the model will be updated for all users when they next save their model. It makes the prospect of working on large models within a team simple and productive.
This is an alpha release, so should not be used in a production environment. And remember to backup your files!
Download here:
http://sketchucation.com/pluginstore?pln=TeamEditIt is a bit like the XREF feature for AutoCAD, but much easier to use, and more dynamic. The intention for the final version is for it to become THE tool for managing complex models and projects that require the combined resources of a team.
HOW IT WORKS:
Team Edit saves all components in the model into a newly created folder. Team Edit saves and reloads amended components to/from this folder automatically, as they are edited by different users.So you should use components to organise your model, making sure that each zone which team members work on is a component. Use components rather than groups.
J
The Sketchup file must be located on a network folder or sharing service such as Dropbox so that users can read and write to it.REQUIREMENTS:
- Install Team Edit on all computers on which you want to edit synchronously
- All computers must have the same version of Sketchup installed
- tested on Mac, should work on PC (feedback appreciated!)
- A shared network folder, or a sharing service such as Dropbox running on all team computers. The Sketchup file to be edited should reside in this folder.
USAGE:
- make sure that the Sketchup file (the "master") is saved in a shared network folder, or a Dropbox folder.
- In the menu bar, Extensions > TeamEdit > Enable TeamEdit. This operation saves all components within the model as a new skp file in a folder with the name "[YourSKPFileName]_Components". This folder will be located in the same location as the master Sketchup file.
- save the model. The Sketchup file is ready for editing, and other users can open the model and start editing synchronously.
- every time you save the model, changes made by other users will be reloaded, and changes made by you will be queued up to be reloaded for other users.
- When opening a component, if the background turns orange, it means another user is currently editing that context. If the background turns red, it means there are changes made to the context that have not been loaded yet. By saving the model, these changes will be loaded automatically.
FEATURES:
- The individual components, which are saved as external skp files, can be opened and edited independently, and Team Edit would still work.
- You can use the native "Component (right click) > save as..." feature to save a component to wherever you want. Team Edit will continue to reload from / save to that new location (if you want it to). This feature may be buggy at the moment, and is a little experimental for this version.
KNOWN ISSUES:
- undo operations do not undo updating of components. This will be rectified in future versions.
- if Sketchup crashes for any reason, some components may falsely tell the user that another user is currently editing in this context.
- for services like Dropbox, it may take time for updated component files to be downloaded to the local Dropbox folder. In this case, TeamEdit will wait until the next save operation before attempting to reloading the component.
- for very large files with lots of nested components, saving the file can take considerably longer than normal. This includes auto save operations. This cannot be rectified as it is by design.
- when editing the master file in the default context (you have not opened any components). Any changes here will not be updated on other users who have the file open. This is because TeamEdit only updates components within a model. To get around this, you can wrap all contents of the master model in a new component, then save.
PLANNED FEATURES:
- Better structure, to allow nested components saved outside of the components folder to act as their own master model.
- Purge deleted and obsolete components from the components folder
- Better handling of situations where files and folders are moved or renamed.
- save component as static components (do not dynamically update).
- reload as TeamEdit component (allows the reloaded skp file to be dynamically updated from another Sketchup file)
- toggle on/off automatic reloading of new components on save.
REQUEST FOR FEEDBACK:
I wrote this plugin as I want to scale up the use of Sketchup in my architectural office. I do not intend to make money from it so long as the work required to maintain it doesn't get too onerous. With that in mind, I ask that if you use it, please give me feedback. I need this tool to be robust for my needs, and need to iron out any bugs. So, please:- report bugs here
- does it work on PC? (only tested on Mac)
- does it work on Sketchup versions prior to 2014?
- let me know what future features are important to you
- let me know how you want to use Sketchup as part of a team generally
CHANGELOG
0.1.5- Added sanitization of filenames. Previously, component names with invalid characters (such as backslash and slash) would fail to save.
0.1.4 - It didn't work on Windows- silly me. Now fixed.
0.1.3 - Edit style options changed - TeamEdit will now warn the user if edits are being made to a component in whatever style is active. Also added colour edges option.
0.1.2 a - Fixed issue with renaming components
0.1.1 a - fixed issue with making groups a component
- fixed issue with versioning of unsaved components
0.1 alpha release - first release for testing by community. Should not be used in a production environment.
-
Team Edit 0.1 alpha released.
-
this sounds very interesting... I'll check it out.
-
Interesting!
There is an error when I select a group and make it a component:
onComponentPropertiesChanged get defiinition path in: Error: #<NameError: undefined local variable or method
version' for #TeamEdit::TeamEditDefinitionsObserver:0x000000077ba2a8>
C:/Users/Anton/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/TeamEdit/core.rb:1280:inonComponentTypeChanged'
-
congrats tommy,
Have you thought about adding file tagging to visually reflect status in 'Finder', or maybe custom icons?
both are possible on a mac and there 'may' be a cross platform way...PM me if you don't want to crowd out this thread...
john
-
@anton_s said:
Interesting!
There is an error when I select a group and make it a component:
onComponentPropertiesChanged get defiinition path in: Error: #<NameError: undefined local variable or method
version' for #TeamEdit::TeamEditDefinitionsObserver:0x000000077ba2a8>
C:/Users/Anton/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/TeamEdit/core.rb:1280:inonComponentTypeChanged'
Thank you for the report. I have just fixed it. Please download v0.1.1 from the PluginStore (which also fixes other related bugs)
@driven said:
congrats tommy,
Have you thought about adding file tagging to visually reflect status in 'Finder', or maybe custom icons?
both are possible on a mac and there 'may' be a cross platform way...I like the idea, john. I will put it on the future wishlist (for after v1.0, I think). I do want it to be cross-platform regardless. I hate it when I see a plugin that "only works on PC".
-
Tommy,
Excellent idea and a much needed feature.
I have some questions to pose before diving into testing though:
- What happens when you rename a component?
- Do you get duplicate definitions and duplicate materials when updating components?
- What happens when we do have a crash (as you described: "if Sketchup crashes for any reason, some components may falsely tell the user that another user is currently editing in this context.")
- Does the background change affect the current style or does it create a new style? (I wouldn't mind having it affecting the current style, though a new style might slow down my sketchup use) May we define the style used for warnings (this style warning is a VERY clever solution though it has its implications...)
-
@jql said:
Tommy,
I have some questions to pose before diving into testing though:- What happens when you rename a component?
On the next save operation, the component is saved as a new skp file (it doesn't rename the existing skp file). For other users, they will reload this new skp file on their next save operation.
@jql said:
- Do you get duplicate definitions and duplicate materials when updating components?
I haven't tested duplicate materials, but you do NOT get duplicate definitions (I made sure of this). Natively in Sketchup, I know that when components are loaded into a model and the name of the component exists already, a prefix (#1, #2 etc) is added to the newly imported component(s). This does not happen in this plugin.
@jql said:
- What happens when we do have a crash (as you described: "if Sketchup crashes for any reason, some components may falsely tell the user that another user is currently editing in this context.")
I'll need to get a bit technical here. Team Edit works by reading/writing small .txt files in a directory called "Network_files", every time a component is edited. When you start to edit a component, a .txt file is written saying that that component is "pending changes", and it waits for you to save the model (and the component to disk). So if Sketchup crashes, the .txt file will still think that it is "pending changes" for the component. You can ignore the orange screen and edit the component, save, and the problem will eventually go away. I do need to work this issue out in a future release.
@jql said:
- Does the background change affect the current style or does it create a new style? (I wouldn't mind having it affecting the current style, though a new style might slow down my sketchup use) May we define the style used for warnings (this style warning is a VERY clever solution though it has its implications...)
The background change only affects the style if your style is named "TeamEdit". It will ignore other styles. TeamEdit loads this new style by default, which can be changed to your pleasure. I did consider whether it should work on the current style, whatever its name is, but I got the impression in these forums ( http://sketchucation.com/forums/viewtopic.php?f=180%26amp;t=13666%26amp;start=90#p549744 ) that users might not appreciate changes to their style. I am open to your suggestion.
-
Tommy,
I'm confortable on the plugin changing the display style temporarly IF it doen't save/applies the changes. Maybe this could be an option on a plugin definition because I would mind to work on a TeamEdit style. I have all my models setup with styles that are saved on scenes and styles I set while working for faster display. This working style is applied using a plugin "Trog_Styles" (or similar name) and a shortcut.
I really like the idea that the background changes because I always set it to transparent on Layout wich wouldn't be affected by the color change.
However if we are working on a component that is indoors there's no way to see the background that visual indication would be lost. What about allowing us to set the style warning of our choice. I, for instance, would gladly have my style being changed to Red/Orange lines along with the background as it's way more important for me to be careful when editing than to be conservative on changes to the visual style. (Specially if this changes wouldn't be saved on model.)
-
have you got a dropbox model that people can test against???
we could all play with different bits and you 'overlord' it...
john
-
@driven said:
have you got a dropbox model that people can test against???
we could all play with different bits and you 'overlord' it...
john
Here you go:
https://www.dropbox.com/sh/kn7zbev4ypffolu/AADO0wm43jj1FgvFjgjBOP3Ia?dl=0I can't find an option to allow anyone to edit the folder, so it wouldn't quite work in the same way. I will be happy for anyone to PM with their email, and I will invite you to the Dropbox folder.
-
@jql said:
Tommy,
I'm confortable on the plugin changing the display style temporarly IF it doen't save/applies the changes. Maybe this could be an option on a plugin definition because I would mind to work on a TeamEdit style. I have all my models setup with styles that are saved on scenes and styles I set while working for faster display. This working style is applied using a plugin "Trog_Styles" (or similar name) and a shortcut.
I really like the idea that the background changes because I always set it to transparent on Layout wich wouldn't be affected by the color change.
However if we are working on a component that is indoors there's no way to see the background that visual indication would be lost. What about allowing us to set the style warning of our choice. I, for instance, would gladly have my style being changed to Red/Orange lines along with the background as it's way more important for me to be careful when editing than to be conservative on changes to the visual style. (Specially if this changes wouldn't be saved on model.)
I think you have some good points there, JQL. So good in fact, that it has been implemented in the latest release.
Team Edit update v0.1.3 with what JQL said
-
@tommyk said:
I think you have some good points there, JQL. So good in fact, that it has been implemented in the latest release.
Team Edit update v0.1.3 with what JQL said
Thanks Tommy!
-
Hi Tommy,
Me and my team are very excited about this plugins, we also trying it, but it doesn't work as your explanation on usage. First, We have synchronize our files on google drive and it synchronized properly. When enabled team edit, component folder was created, but every time we save the component model, changes made by other users wont be reloaded on my main model. Is there any wrong action we take? We'll very appreciate if you could share the step how to use it properly.
Thanks -
@near2010 said:
Hi Tommy,
Me and my team are very excited about this plugins, we also trying it, but it doesn't work as your explanation on usage. First, We have synchronize our files on google drive and it synchronized properly. When enabled team edit, component folder was created, but every time we save the component model, changes made by other users wont be reloaded on my main model. Is there any wrong action we take? We'll very appreciate if you could share the step how to use it properly.
ThanksI'm sorry to hear that, and thank you for trying the plugin out and reporting back.
Firstly, please confirm the following:
- that the plugin is installed on all computers that are editing those components
Two possible things come to mind:
- changes are reloaded on your main model when you save the main model.
- I haven't tried it with Google Drive before, but it should work like Dropbox. With large components, it can take some time for the component files (.skp files) to be synced on Google Drive/Dropbox. There can be a situation where TeamEdit can't find the new component, in which case it assumes it hasn't been synced yet, and waits until the next save operation to have another go at reloading it.
If the above doesn't help, I would very much appreciate it if you could send me the folder called "Network Files" (within your "XXX_Components" folder. You can PM me. Also please let me know what platform you are on (PC/Mac, Win version, SU version etc).
-
Team Edit updated to v0.1.4. It now works on PC!
(funny no one told me until now - thanks to Near 2010 for the report)
-
Thanks Tommy, now it works on our PC
We'll do some test and give you some feedback if you don't mind -
@tommyk said:
Team Edit updated to v0.1.4. It now works on PC!
(funny no one told me until now - thanks to Near 2010 for the report)
I feel a bit ashamed here, but I haven't tried Team Edit yet. I'm just in the middle of a project and can't change the procedure now. I guess a simple example would be interesting... As soon as I have some time I will try it as fully as I can.
-
@jql said:
@tommyk said:
Team Edit updated to v0.1.4. It now works on PC!
(funny no one told me until now - thanks to Near 2010 for the report)
I feel a bit ashamed here, but I haven't tried Team Edit yet. I'm just in the middle of a project and can't change the procedure now. I guess a simple example would be interesting... As soon as I have some time I will try it as fully as I can.
Don't worry! Try it out at your pleasure. It shouldn't be used in a production environment yet anyway. Simply put, the more feedback I get, the more reliable it will get.
Advertisement