Activating multiple versions of a page in AEM over time - content-management-system

In AEM (Adobe Experience Manager), I'm trying to schedule the activation of multiple versions of a single page that have slightly different content each day. So, while I'm out-of-office on Saturday morning, the "Saturday" version of the page is auto-activated. Then on Sunday morning, the "Sunday" version of the page is activated. On Monday morning, the "Monday" version of the page is activated, and so on. So far, I've only been able to successfully schedule a single change, not multiple changes over time, as described. Any help would be appreciated.

I don't know a way to directly do activation of different versions at different times, but an alternative you could consider would be to create the portion(s) of the the page you to change over time as a teaser component, then use segmentation to define time-based segments that would cause the page to render those portions differently depending on the date/time.
Check out this documentation: https://docs.adobe.com/docs/en/aem/6-1/administer/personalization/campaigns/segmentation.html. It states
"...segments are then used to provide a visitor with specifically
targeted content."
This wouldn't be a typical usage of segmentation, but it is a way to accomplish what you want to do. In step 6, when creating a new segment, you would need to define a JavaScript expression that evaluates the date/time to resolve the segment to true/false. You could define several such segments for each date/time you need, then depending on which segment resolves to true different content would be shown.
This has overview info https://docs.adobe.com/docs/en/aem/6-1/author/personalization/campaigns.html and says that
"Typically a teaser page is a temporary action that will last for a
specific period of time, until it is replaced by the next teaser
page."

At least from AEM 6.3 (I didn't check the earlier versions, but quite sure it works the same way) there is "Scheduled publication" function.
When you schedule the page for activation the snapshot version is created and that very version will be published, even if the page itself was changed since then. And this can be used for several times. So actually you have what you need works out-of-the-box.
I would suggest you to investigate /etc/workflow/models/scheduled_activation/jcr:content/
for more information.

Related

How often a single news is shown

I'm using TYPO3 7.6 and the extension news from Georg Ringer. I'm looking for a way to count, how often a news is shown in the singleview? And I want to output this value in the news singleview.
In my opinion there are 2 possible ways which would still care about performance and let the detail view cacheable.
1.) If you use Google Analytics, Piwik, ... use its API to get the correct counts from there and put it back. This could be done by a scheduler task which runs every x hours/minutes
2.) Use a tracking pixel. Insert a tracking pixel which is connected to a php script (for further reading, google for eID) which will be called with every hit. Then you just need to write it back.
IMO there is no extension for neither of those 2 solutions available in public. However I did something similar as solution #2 which can be found at https://github.com/georgringer/newsmostread

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

Google Forms Timer

I am looking to create a timer on a quiz that I am creating in Google Forms. I have found this post here - How to add a timer to Google Forms for a School Quiz? - from 2013 where it's mentioned that scripting might make this possible eventually. I am wondering if anyone has figured this out or has a solution. Ideally I would like to have the timer start when someone opens the form and auto submit or stop receiving submissions after a set elapsed time.
Thanks in advance :)
A Previous Question has mentioned this before. Right now you are correct, you cannot time a quiz using a script at the moment. Though this question does mention some "workarounds" such as using the Form Limiter tool posted in that question.
Also this was mentioned as a viable solution:
One way is to use Qualtrics. It has a "timing" question which can
automatically submit the page once the time is complete.
So, if your sections can be placed in 3 different pages, its quite
easy: Place a timing question on the top of each section with the time
settings.
And This link Tells you how to set the general settings of time limits (such as, open test on April 14th close on April 15th). You can set specific date limits but still no timer.
For Further Reference View this Google Product Forum.
Use an addon. Some work well, others don’t. A good one is Quilgo Time and Proctoring. But as with any addon, you have to sign in. If you decide to use a different addon, be wary of the requirements. You will also have to make a Quilgo account if you use the suggested addon. But to have it stop accepting responses, you can either use an addon (Form Limit Response - Limit Form Close) or just do it in the form settings (manual turn off). Where to find manual switch for turning off responses

Like Box "data-height" Display Error

Has there been a recent change to the functionality of the Like Box "data-height" parameter functionality? This designation used to allow developers to set the height of the feed regardless of the usage of the other features such as "show faces." It appears that now this parameter will only respond to allow for more faces to be shown, rather than actual postings.
My company has built a few sites that utilize this functionality, and up until last month, the widgets' "data-height" specification was working fine. Now there is no response from this unless "show faces=true." The display of several other client webpages is now being compromised, and will require attention unless this issue can be resolved.
Is there a current work around for this? Is this a bug? If not, is there a timetable to when the previous functionality will be restored?

I want to be able to search an html page that is refreshing every 10 seconds for the word "stat"

I want to be able to search an html page that is refreshing every 10 seconds for the word "stat". If the word is found I then want to alert the user through a pop up dialog and possibly a repeating sound until the user acknowledges it.
UPDATE:
Sorry the question was a bit ambiguous. I do not know a great deal about this stuff I just do it as a hobby.
OK so here is the deal. I work as Biomedical Electronics Technician for a hospital. We have a work order system that is web based. Nurses can enter a work order into this system. I have a browser window open at all times that refreshes periodically through an add-on for IE so I can always be up to date on the status of the work orders coming in. When a nurse the enters enters a work order they have the option of choosing Stat, High, Medium, or Low for the priority. When a stat work order is placed our response time should be within five minutes theoretically. I want some way to alert myself when a stat work order has been placed so I can respond accordingly. And I know a repeating sound would be annoying, but that might be the best way to get my attention.
Another caveat to this is the work order status can be changed by me, the tech. So when a work order is initially placed the status is Not assigned or something like that. Once I go start on a work order I change the status to In Progress. If I have to order a part I change the status to Hold for Parts, etc. So basically, what I am saying is I don't want to alerted if the status is anything but "Not assigned". If it will help I will get a copy of the source of the page when I get to work tomorrow.
Our IT department seems unwilling to help and the company that made the product is so busy chasing the daily bugs that show up to add new features such as this at this time. If I knew more a Google search might help, but alas I am a bit noobish in the programming realm, however I am 2 years from a C.S. degree so I am not a complete novice.
To answer another question, I do not have access to the page I am just viewing it so any sort of script would need to run on my client machine.
Thanks
I found this, try it https://addons.mozilla.org/en-US/firefox/addon/3028/
Maybe it can search for STAT on the entire page?
Based off your description, it doesn't sound like you have access to the server to change the code of the page itself, correct?
If that's the case, spend some time learning how to use Greasemonkey (or rather Greasemonkey for IE). It allows you to add functionality to a web page from the client (browser) side, regardless of what's on the server.
You'll need to find the elements that hold the "stat" term your after, and have it check periodically those elements periodically. Look into the setTimeout method for that periodicity. The rest you'll have to work out specific to that page.
What you're looking for, since you have python available, is to build a simple, easy to use webscraper.
First link is how i would do it quick and dirty.
http://www.ehow.com/how_4436125_read-web-page-using-python.html
Second link is a bit more robust and nifty with BeautifulSoup
http://www.builderau.com.au/program/python/soa/Build-a-basic-Web-scraper-in-Python/0,2000064084,339281476,00.htm
Basically, read the page (even set the whole loop on a 10 second refresh timer).
Go line by line with a while readline loop.
See if one of your magic words exists with a regular expression
...
profit?
(... meaning do your alert song and dance)
(profit being rejoice!)