Sitefinity, intercepting page events - sitefinity

Sitefinity has some documentation on how to create a page programmatically, but what I really want to do is to perform some additional logic when the "Create Page" event is fired.
From a high-level, how would one go about doing this? Is there certain interface to implement, or a class to extend?
I'm using SiteFinity 4 (4.4)

If you download SDK, you will find Utilities class which contains sample code for creating pages, templates etc.
You can create pages by using PageManager or a fluent API - everything is in the SDK.

Disclaimer: I work on the Sitefinity team at Telerik.
I'm talking from memory here, but usually you can subscribe to the Executed event of each manager in Sitefinity. It is fired on each action you perform from that manager and passes you arguments about the current command being executed. You'll have to debug and inspect what is the name of the command when creating pages, and if so do what you need.
Another alternative is to implement custom workflow and include your coded step somewhere. More info here: http://www.sitefinity.com/documentation/documentationarticles/developers-guide/sitefinity-essentials/modules/workflow-for-content-modules/custom-workflow
If you open a support ticket or write in the forums with more details, we would be glad to help.

Maybe this post "Automatically create other language versions of the page using Sitefinity API" will help...

Related

Can we implement a custom ambari actions for upload/download purpose

Right now, we are using ambari to manager some custom serveices. we have followed the rules,like "add custom service/stacks" in ambari. we also read the info: "how to add custom actions" beside the routined life cycle actions, such as: "install, configure, start and stop"
However, our design need some special actions, for examples, Dowloading log/thread dumps from the server, or upload special key files to use in ssh/key auth. Have seached the web many days ,but find no clues.
Is it possible to do so?
Thanks
#stdanley
It sounds like some of the functionality you are describing could be done with a custom Ambari View. For example, the hdfs/files view allows uploading files to hdfs. You should investigate Ambari Views. The Smartsense view would be good one to take a look at as an example.
It would be also possible to create a custom service which provides a UI on top of ambari. You can then build the functionality you are looking for in the custom service's UI. Those actions would be outside of the scope of ambari UI, in other words, not found in ambari drop downs, tabs, etc.
It is possible to add some custom functions into ambari service Action menus. But you may find those are simple interaction triggers, not feature ads.

New version import.io cannot create API

I have a number of APIs both authenticated and not authenticated, created in earlier versions of import.io.
With the new Windows app I can't create an API, or at least pick one up. The tutorial shows a whole bunch of options, but I only get "CONFIGURE" and "EXPORT". "Configure" only gives me the option of single URL, bulk extract and URLs from another API. But there is no link to give me the API address.
Similarly, EXPORT only provides "USE IN DATA SET".
I asked their support but got this:
Hi Glenn,
Thank you for reaching out.
As you may noticed, we made some changes to our interface.
We moved the into the Export tab (next to configure) and named it
simple API integration.
Let me know if you have any questions.
Thank you,
But when I replied that I don't have that option, I got no reply.
What am I doing wrong?
Glenn.
Import.io support got back t me after I sent a screen video (http://www.evernote.com/l/AAhMJsy7INVHFauEOGFQBgEgJq2IPRSA6AU/). There's a bug in the new Windows desktop app that prevents authenticated APIs from showing.

creating movie template "on the fly"

i want to develop a site where user selects various videos and site will render a single video containing all videos in a pre-built template.
what would be the way to go about this (in order to create the movie dynamically from site) ?
what would be the server side framework to use ?
can i use after-effects and have site use it to generate such templates (optional - as i have a friend who works with after effects and can create templates) ?
as i am fairly new to the field any additional information is welcomed.
I'm no expert, but I'm pretty sure you can't do what you described.
Rendering a video consumes huge resources (really huge), so a server park that could
handle this is just not worth it.
However, what you can do is to play the selected videos consecutively. That way, no rendering is necessary.
Also, forget about After Effects, for the same reasons described above.
You can achieve what you want by using a new plugin for After Effects called Templater Bot. From Dataclay's site:
Templater Bot is an enterprise solution for custom video on demand. It works as an automated system. Use it to periodically check for incoming data, pull new data in, and render video as a background process. Or use the command line interface to push data in to create new renders. Once your AE project is prepared, use Bot to customize and render it without operating the After Effects user interface. Developers can create front end applications, such as web or mobile apps, that feed data into Templater's data source, offering a collaborative, custom video content creation solution.

IBM Worklight - Can we create a custom dialog for Direct Update?

How can we use custom dialog box for direct update in worklight 6.0?
Is there any option in wlclient.js? I don't know where it should be customized in the application.
Worklight 6.0 does not provide developers the ability to create a "custom dialog box" for Direct Update.
You can submit a feature request: http://www.ibm.com/developerworks/mobile/worklight/connect.html
So Idan already answered, but I did a lot of digging prior to his answer and I thought I'd share my findings just because I spent so much time on it.
Sifting through the code, through all the checks it does to see if a Direct Update is needed, it calls an update method for the app. It utilizes a Cordova plugin called 'WebResourcesDownloader'. In turn it calls the necessary native components and that's how you get a native handler for the downloader (it is in the worklight-android.jar for Android). So, long story short, you can't customize the box itself because its rendered via the plugin/native components and you can't modify the plugin directly (not that I know of at least).
However, you can at least update all the notification messages surrounding the update in the messages.js within the wlclient folders. =)

How can I convert a non-CMS web application to a Sitefinity managed application?

I am in the process of converting a web application that has been in play for some time into a Sitefinity 4 managed site. There is plenty of documentation on how to use the software to CREATE a new site, but I've found precious little that describes the process of how to migrate from non-cms to Sitefinity.
So - specifically, I would like some guidance on the process of conversion from non-managed to managed. I've been searching google and the Sitefinity forums, etc. but finding nothing except how to migrate from one version of Sitefinity to another - not what I'm trying to do.
Any leads for web sites to visit or documentation pages to read would be very helpful.
You'll have to bite the bullet and invest more resources at the beginning of your project and not release anything for some period of time. You won't be able to drive your car without fundamental components. The same principle applies here.
Whatever your requirements are, you will either have to hack around the CMS and then fix the hacks later, or do it properly from the very start.
Look at your existing site and break it down into smaller chunks
Consult Sitefinity documentation/partners/freelancers on how your existing content can be migrated onto Sitefinity platform
Task up the migration and start implementing
This is very rough guideline, but so are your requirements.
To summarise, there is no quick way. You'll have to do it properly form the start, or invest more resources later on bug/hack fixing.
If we have Sitefinity at the root of the application, we cannot,
according to Sitefinity, have any pages not managed by SF
That's not entirely correct. Sitefinity allows you to add "external pages", meaning that you can create odes in your sitemap which would like to external pages. Thus, your navigation in Sitefinity would show a complete website page structure, while some of the pages in that structure would actually be linking to external ones.
It would be absolutely easy and quick task to create your page structure programatically.
actually this is quite simple to achieve. Sitefinity is completely dynamic CMS (meaning, no real files). The implementation uses RoutingEngine and VirtualPathProvider to achieve this. What this in reality means is that you have two solid and standard extension points to split the site in "sitefinity managed part" and "custom managed part".
So, a very simple way to do this is to simply register a route (more info here: ASP.NET routing) before the SitefinityPageRoute, as SitefinityPageRoute will throw 404 if it cannot find a page.
So, let's say you register a route "~/mystuff" before SitefinityPageRoute, all the requests that start with "~/mystuff" will first go to your RouteHandler where you can decide to handle them (write to http response) or do nothing and let it fell down to Sitefinity routes.
Another way is of course to implement a custom VirtualPathProvider, however, this may be an overkill if you simply want some pages to be handled differently.
All this being said, it's obvious that pages not handled by Sitefinity will not be handled by Sitefinity :) (so, no page editor, no workflows, no translations, no widgets, no templates, no themes).