Jump to content

Version Control


teppo

Recommended Posts

Sorry for the delay, folks – been a bit busy lately, but I'm now slowly trying to work my way through your reports :)

On 26.3.2018 at 4:05 AM, Robin S said:

Another minor UI thing: the new UI can look a bit funny with AdminThemeDefault and AdminThemeReno because opening the history doesn't trigger the core column sizing JS, so the height of fields in the same row isn't updated to match. It's not a big deal, and the issue doesn't occur for AdminThemeUikit so maybe not worth doing anything about.

...

If there is a column to the right of an open history container then the history gets overlapped by 1 pixel on the right edge. Again, not a big deal, but maybe these things could be avoided by using absolute positioning for the history container so it appears in a layer over the Page Edit interface and doesn't expand the inputfield column.

Using the core panel UI could be a nice alternative too, but I don't know how easy it is to inject HTML directly into this. I think it's only set up to handle iframes (which if so is a bit of a shame because it reduces the range of things the panel can be used for).

Version 2.1.6 includes a couple of fixes related to this one:

  • Revision tables are now vertically scrollable. This isn't necessarily a perfect solution, but at least the UI is now usable even if the inputfield itself is very narrow. I've also added some UI hints to signal if/when scrolling is expected.
  • InputfieldColumnWidths() is triggered after showing/hiding a revision table, so the first thing mentioned here should be fixed now (hopefully).

I couldn't reproduce the 1px overlap. Might've already fixed that one, or perhaps I just wasn't able to recreate the setup needed, but I'll get back to that if it's still an issue. The absolute positioning thing I kind of covered in my previous post (I'd prefer to avoid that), and the panel thing is exactly as mentioned above: they seem to require an URL, which is then opened in an iframe, and that would be a bit problematic (to say the least) for my use case here.

  • Like 1
Link to comment
Share on other sites

Hey @teppo - I haven't used this module in a long time, but I am playing around with v2.0 at the moment and I see that there is no repeater/repeatermatrix support at all. I understand the old/master version does have some repeater support though.

Are you planning on support? Any possible timeframe?

Thanks!

Link to comment
Share on other sites

  • 6 months later...
On 4/19/2018 at 5:35 PM, adrian said:

Hey @teppo - I haven't used this module in a long time, but I am playing around with v2.0 at the moment and I see that there is no repeater/repeatermatrix support at all. I understand the old/master version does have some repeater support though.

 Are you planning on support? Any possible timeframe?

Thanks!

@teppo Any news here?

I would very much like to use the module with a repeater on our intranet page ? 

Link to comment
Share on other sites

Hey @adrian and @zoeck,

Sorry for not responding to this – I've been kind of tied elsewhere, and totally forgot this question. Bad excuse for bad communication, I know ?

I'll have to dig into this. I didn't intentionally strip any features from 2.0, but it's entirely possible that something in Admin Theme Uikit (assuming that you're using that) or the updates I did for 2.0 did indeed disable Repeater Matrix support. I had to put the development of this module on hold since there were some difficult (or at least time-consuming) UI issues to tackle, and I just didn't have the bandwidth for that.

I'll do my best to try to find some time soon(ish). Sorry, but can't really promise any kind of timeframe right now.

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

  • 2 months later...

Hi @teppo

We have difficulty using your module with the TemplateEngineFactory and the attribution of $view.

$view = wire("view");
$code = .....;
$view->set('myVariable',$code);

$view is NULL when trying to get a preview, so we get an error.

Any idea how to resolve this?

 

PS. This is the TemplateEngineFactory module that prevents previewing pages under /admin.

Link to comment
Share on other sites

Hi @Guy Verville.

I took a quick look at TemplateEngineFactory.module.php, and this is what I've found out so far:

Without modifying TemplateEngineFactory itself, I currently see two options: reworking the preview feature to do something else (though not quite sure what.. perhaps it could define a custom template or something like that), or trying to overwrite current page (to fix the $this->wire('page') reference in TemplateEngineFactory.module.)

Latter option sounds more feasible, yet I'd have to test this properly to make sure. I don't have a proper setup for that available right now, but I'll see if I can get to that sometime soon. That being said, if you could provide me a stripped down site profile to test this with, that'd make things easier for me ?

Link to comment
Share on other sites

  • 2 months later...

Hi @teppo, I'm using version 1.2.9 from the modules library and having trouble with the UI: for fields that are on the left of the screen, the popup "compare" is off-screen and unusable (using UIkit). It looks like version 2 has a better UI. Is that going to make it to the 'official' library some time soon or do I need to install it from GitHub?

If I do need to install it "manually", how do I do this without losing my settings and history.

Thanks.

Link to comment
Share on other sites

  • 2 months later...

@Teppo

Great Module! Are there more examples for an API call of your module? I want to track all changes and list them on a special site. Only changed pages/fields should be listed. Any ideas?

foreach($page->versionControlRevisions() as $key => $alue) {
	$page->snapshot(null,$key);
	echo $page->name;
}

How can I compare fields in the version with the current version?

 
Link to comment
Share on other sites

  • 2 weeks later...

Hi all

in History, when editing a ProField Textareas, it only adds the name of the Textarea (Prodspecs) that was altert, but not the Fieldname (Voltage) inside the Textarea that was altert. That does not really help. It would be great if it would also name the altered Field name. 

We then changed a Field (Voltage) and saved it, content was added. then clicked restore version on a previous version of that Textarea (Prodspecs), what deleted all entries inside Textarea (Prodspecs) and not the Field (Voltage).

Don't really know why this happens, but a hint on how to fix that, or even having a look at the module itself would be of great help!

Link to comment
Share on other sites

Hey @bbeer,

There's no such module as "History" (as far as I'm aware), so are you perhaps talking about VersionControl – or something else entirely? Or is this a question about some built-in feature in ProFields Textareas? ?

The Modules/Plugins area of the forum is for dedicated module support threads only. If this is a support request for ProFields Textareas, please post the the VIP support area instead – and if it's related to another module, you should post your question directly to the support board of said module. If you're not sure where that might be, check the modules directory entry for the module in question and you'll find a link to the support board from the sidebar (on the left side).

If you tell us which module you're talking about, a moderator can move or merge this thread to the right place.

  • Like 1
Link to comment
Share on other sites

Hi Teppo

I am not talking about a module History. If I am not mistaken, VersionControl puts a table at the end of the page, see screenshot, where it adds the revision number, the author, Changes, Timestamp and Comment. is that not correct?

This entries we also found in the database, in the VersionControl Tables.

 

1834311941_ScreenShot2019-07-02025818PM.thumb.png.1bbff6f9e9f0c1aaa46dfdc844c747aa.png

Link to comment
Share on other sites

Since this is indeed related to the VersionControl module, I'll merge this thread to the VersionControl support thread ?

As the author of said module I should add that VersionControl has not been tested with the ProFields Table Textareas plugin, and honestly I'm not surprised if these two don't play nicely together out of the box. I will take a closer look at this, but it may take a while, so in the meantime I've opened a feature request for this at GitHub: https://github.com/teppokoivula/VersionControl/issues/23.

Quote

Don't really know why this happens, but a hint on how to fix that, or even having a look at the module itself would be of great help!

You could take a closer look at the database (particularly the version_control__data table) in case your data is still stored there. Other than that I can't really say for sure – it's possible that the data was not saved correctly, which would mean that it's no longer available.

I'm not quite sure what you mean by "having a look at the module itself" ?

Link to comment
Share on other sites

  • 1 month later...

Hi @teppo,

first of all, thanks for this great module! But, can I have a question?
I have got a request to show the page changes in a merged list.. if it's possible. My idea is to use the official PW log to collect these changes. Is there any easy solution to implement a simple log save when your module also made a save / insert revision? For example:

$log->save("history", "The body field changed.");

perhaps with a link to the current revision, page id, or etc..

I have searched, but not found any hook which could be useful for this.

Thanks!

Tamas Gyorvary

Link to comment
Share on other sites

Hey @tthom_pw

Looks like this isn't currently possible. I'm working on version 2.0 of the module, which will include quite a few changes in fact, and I'd be happy to implement this once that's ready to be released. Sadly I can't give you an exact timeframe – probably "sometime within next few months", but that's just about it.

In the meantime you might find other modules more suitable for this purpose. For an example my ProcessChangelog creates a relatively easy-to-follow log of events – it doesn't integrate with VersionControl, so there's no way to link changelog with revision numbers etc. but if might be a more sensible way to get an idea of what changed and when.

Hope this helps a bit.

 

Link to comment
Share on other sites

Thanks @teppo!

I haven't noticed that ProcessChangelog is exist, not bad at all! Great job again. 
Yes, that would be great to be connected with VersionControl, but perhaps will be enough for this time.
Or.. I simply create a link into the ChangeLog list row with Javascript to link directly to right History page (with #VersionControlHistory hash tag). And than, it will be a simple connection between the two modules. Not 100% solution of course.. 

After all, thanks for the quick info and thanks for the modules!

Link to comment
Share on other sites

Hi @teppo

are you considering adding support for ProFieldTextArea to Version 2? Right now we can only see that something inside the whole Field changed, but not exactly what.

We would really appreciate this feature. We could also consider funding this change!

Link to comment
Share on other sites

  • 4 months later...

Hey @teppo I think there's an issue with VersionControl on PW v 3.0.148. When editing a page that the module runs on or trying to change module settings I get the following error:

Argument 1 passed to ProcessWire\Modules::setModuleConfigData() must implement interface ProcessWire\Module, string given

Any thoughts? Happy New Year

Link to comment
Share on other sites

Hey @alexmercenary! Which version of VersionControl are you using?

I can see where the error is coming, and I don't think that line of code should've worked in years. Committed a fix, but the modules directory entry is not updated yet, so it may take a while for this to show up in the built-in module installer (seems that I've lost my password for this module and can't update it manually in the directory, I'll have to guess that first...)

Not sure why this popped up only now, though – so hopefully I didn't break anything with the fix ?

  • Thanks 1
Link to comment
Share on other sites

@teppo It's version 1.2.12

I don't know either. I've literally logged in today updated ProcessWire and started doing a bit of work. Only noticed when I went to edit a page in the backend.

Thanks for the super quick fix though! ?I'll let ya know how I get on or if I see if anything has broken, haha.

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

I had upgraded to 3.0.148 successfully on my dev machine and used it without problems for a couple of weeks. So I decided to upgrade the production environment. The front end works OK and so does some of the back end. However, on attempting to edit certain pages in the back end, I get the following error message:

Fatal error: Uncaught TypeError: Argument 1 passed to ProcessWire\Modules::setModuleConfigData() must implement interface ProcessWire\Module, string given, called in /home/highmoss/public_html/processwire/wire/core/Wire.php on line 383 and defined in /home/highmoss/public_html/processwire/wire/core/Modules.php:3685 Stack trace: #0 /home/highmoss/public_html/processwire/wire/core/Wire.php(383): ProcessWire\Modules->setModuleConfigData('ProcessVersionC...') #1 /home/highmoss/public_html/processwire/wire/core/WireHooks.php(823): ProcessWire\Wire->_callMethod('setModuleConfig...', Array) #2 /home/highmoss/public_html/processwire/wire/core/Wire.php(450): ProcessWire\WireHooks->runHooks(Object(ProcessWire\Modules), 'setModuleConfig...', Array) #3 /home/highmoss/public_html/processwire/site-ncog/modules/VersionControl-2.0/ProcessVersionControl.module(75): ProcessWire\Wire->__call('setModuleConfig...', Array) #4 /home/highmoss/public_html/processwire/wire/core/Modules.php(553): ProcessWire\ProcessVersionControl->__construct() #5 in /home/highmoss/public_html/processwire/wire/core/Modules.php on line 3685

I refreshed the modules and cleared the FileCompiler, but it persists. Any ideas?

EDIT: Uninstalled version control and it works OK

Link to comment
Share on other sites

  • 3 months later...

Hi I’m posting drunk again, and I just want to say, this module is awesome! Thanks a bunch, teppo, you’re the man. I feel much better with this after giving a friend edit permissions on my site ?

But also, one thing, does anyone else feel that the diff should always be old to new? Right now when you open the history and click the most recent compare button, it’s the other way around. Wikipedia gives you one radio button for each version to compare and simply doesn’t let you select old to new. It’s kind of awkward and over-engineered, but I think the spirit of not going backwards in time is intuitive.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...