Real url self cache cleaning ways in TYPO3 - typo3

Is there any way to clear Real url related tables cache cleaning that can be done for specified time period?
For example annually all real url related tables are got empty automatically via some config settings or ways like this which does not done manually.

There is no build in mechanism to clear these tables automatically. Even for manually clearing you need extras. There is/was(?) an extension which adds a button to clear realurl cache, but no automatism.
If you know which SQL-queries you want executed it should be easy to add a simple cron-job.

Related

Content merging AEM

We're looking for a solution on how to best deal with the situation where multiple authors are working on the same page. If the first author pushes in the content, the second should have a way to merge it when he tries to publish. Launches appears to be a way to take care of this but it doesn't seem to be handling content merging. Is there any way an author can view the diff(and or do merge) of the content that might have been pushed by another author while they were working concurrently ?
Please help with any pointers.
Page modifications happen in real time to the underlying structure. They also happen at as small a level as possible.i.e. If you go into a text area and modify the text there, the text node is changed on the server, you aren't saving the entire page.
The only way that person A could interfere with what person B is doing is if they were working on the exact same area of the page. Which, honestly is a process issue. I say this because the answer to your question is that there is nothing out of the box to handle this type of scenario and if you are on 6.0 or higher and looking at the JCR3. JCR3 handles this far worse than the older version did. Last time I checked it didn't support nodes at all
Adding to what Bailey said, AEM OOB allow multiple users to edit same page in real time, though if multiple users are working on same node will be a reason of conflict. Such cases can be managed by defining a process like:
1. Take a lock of page and edit page or
2. Create versions of page and publish versions

Version Control for Javascript

What can be the best way to add vesrion control in javascript so that user will not need to clear cache and reload every time.
One possible way i found is to add version number at the end of url. Can there be other ways also?

how can I force cdn.rawgit.com use updated file

I am using cdn.rawgit.com to host some of my scripts and css for a project but I cannot refresh it. According to the FAQ:
Requests to cdn.rawgit.com are routed through MaxCDN's super fast content delivery network, and are cached permanently the first time they're loaded. This results in the best performance and reduces load on RawGit and on GitHub, but it means that reloading won't fetch new changes from GitHub.
Does this mean I can never refresh? Or is there a way to force a refresh to use the most recent version?
Yes, permanent means never.
From the documentation:
Since files are not refreshed after the first request, it's best to use a specific tag or commit URL, not a branch URL.
This wouldn't update the file per-se, but it would allow you to specify the new version.
I just created a page with github pages and I hosted the files there. You create a repository, in settings create the page then when you update the files it will automatically do it for you!
Since rawgit.com is shutting down you want to use combinatronics.com it is an alternative for rawgit.com
It also automatically gets the latest file.
It is impossible to refresh a cdn link. But there is a way of doing this.
Instead of specifying the URL directly:
https://github.com/<user>/<repo>/file.txt
you can make it tag specific like this one
https://github.com/<user>/<repo>/1.2/file.txt
So when you change the file, make a draft release and change the tag 1.2 to the tag release you made recently!

Using grunt-contrib-copy for changing Test URLs to Production URLs

I'm trying to figure out the best way of changing the URLs of files that are shared across multiple apps, from test URLs to production URLs upon deployment. I know that grunt-contrib-copy allows for regular expressions to be used to make changes such as these but I'm wondering...is this the optimal solution? Is there a better way of doing this? What approaches are others using?
Thx.
Check an answer I made on a question close to yours :
How to set AngularjJS base URL dynamically based on fetched environment variable?
Basically, you can do this with Grunt and grunt-contrib-copy or grunt-preprocess ... It's up to you if you want to replace strings or pick the right config file..
Hope this helps

OwnCloud enhance core features with App (eg. user registration)

I started looking into OwnCloud app development to add some capabilities I would like to my server. To me it seems like Apps can't modify anything like the Login page or User Management page. Is this the case?
I want to build a user registration app and would love to integrate it into the user management page (if not and it has to exist as its own app page not a big deal). The one big problem I see so far is not being able to add a "Register" link to the login page. I could just go in and add it to the source manually, but I would like to keep the App self contained so others can use it too.
If this is not possible to do in an App I may just need to modify the core application and then see if they will accept my feature addition in a pull request.
Thanks to anyone who can shed some light on this for me. I don't want to waste my time trying to figure out how to do it with an App on the platform if it wont be doable.
After a lot of digging around I did figure out a way to do this.
In the App's app.php file, you can force a script to be loaded if the plugin is enabled:
$api->addScript('script_name'); // without .js
In that script jQuery can be used to add the elements to the page where you need them.
This was a good solution for me since I only needed to add a single button to the login page. I can see this being a bad idea if you want to make vast modifications. At that point you might as well just create a separate page that you have full control over.