User information retrieval based download in Joomla - joomla

i am hosting a site in Joomla and we want to allow document downloads. however, we want the downloads only after user submits at least their email.
i searched and found that it could be possible to do this by means of user registration but is there a simpler way by means of a plugin that allows simple user email submission followed by download over full registration.

You can try DocMan, which is a Joomla document management extension. The only issue is that this is a commercial, and it costs $99 for one website. But it is a solid extension.
Don't waste your time writing code to do what you want to do when an extension may do.

Related

How does my user access a ServiceNow application that I created?

I am researching ServiceNow, I know next to nothing about it. Funny how the most obvious questions seem to be the hardest to Google. My specific question is about applications.
ServiceNow runs as SaaS, correct? So, if I build a ServiceNow application, for a user to access that application, they would open the ServiceNow platform in their browser, then they would have a menu of applications they could launch, correct?
Is it possible to host a ServiceNow application on a specific page, or on a website, or embed it in a SharePoint page, so I can give out a URL for a user to run the application? Or do they always have to navigate through the ServiceNow portal to run my application?
I know this sounds like a dumb question. But everything I have read assumes you already know this information, so a dumb, obvious question it has to be.
ServiceNow assumes that it is managing the entire window (or tab). You might be able to get something to work using HTML frames, but there is a good chance it would break with a future ServiceNow upgrade.
On the other hand, it possible to redirect a user into a specific ServiceNow page by constructing the appropriate URL. If the user does not already have an active session cookie then ServiceNow will prompt them to authenticate. You can redirect to a specific Service Portal page, or a specific catalog item or a specific record. You can redirect to a ServiceNow Dashboard. If you want to show a list of records, you can dynamically build a query. You can redirect into Agent Workspace or the classic platform UI. If directing into the classic platform UI you can show or hide the ServiceNow navigation menu based on whether or not your URL contains nav_to.do?.
There is a bit of an introduction on this page, although it really only scratches the surface:
https://docs.servicenow.com/bundle/sandiego-platform-user-interface/page/use/navigation/reference/r_NavigatingByURLExamples.html
If you want to drive ServiceNow from a web site or from SharePoint, then you just need to construct the right URL which will open ServiceNow in a new browser tab.

Content Rights for an app that uses the Safari component to display web pages?

When submitting an app to the Mac App Store it's asking me this questions:
Content Rights
Does your app contain, display, or access third-party content?
Do you have all necessary rights to that content or are you otherwise permitted to use it under the laws of each App Store territory in which your app is available?
My app uses the Safari component to display web pages, so, it can display third party content, and I believe I don't need any permission to do so the same way any other vendor doesn't need permission to produce a browser.
Using the component to wrap an entire site to make it look like an app and present it as your own is probably an "offense". But clearly showing that web pages are loaded and displaying them as they were intended by the website creators could not be an offense. It would go against the entire structure of the WWW.
If some people actually do put websites on the publicly accessible web and want to keep it private they did something wrong to start with :). It can't be the responsibility of each and every browser developer to keep track of that.
And a browser is a browser, if it's on a mobile device or a desktop.
So it would be ground breaking if this would be judged otherwise. And if it was, it could probably easily be contested. Not to mention the sh*t storm that it would start online if this was their public stance :)
The only source I could find on it is here, where it says that it is "most likely to affect apps which use the brand names or logos of other companies". You are not displaying third-party content, you are displaying a browser. Unless that browser window is filling up the entire screen (so that it seems like they are not seeing a webpage) and you make it seem like that website is part of the app, I can't see why they would stop your app.
I would think that you don't need to say that you access third-party content at all, and if Apple disagrees then they may pull your app. But as you say, it would be the same as every browser app. Either the safari component is third-party content, so no browser should be allowed as they show content that they do not own, or it's not third-party content and you should be OK.
If what you are trying to do is displaying any webpage on your own browser using the Safari component you already have the rights to display it. If the owner of the content doesn't want you to display it the webpage would require a username/password to access the content. This is an implicit "contract" when you create a public site on the internet, anyone can see it/use the information provided. If there is an explicit ban of some domains due to government laws your application will not be able to access the site from that location (like use to happen on some mid-east countries/china) but the block will be on the physical network and you don't need to worry about it.
If you can access the domain from the application in any given location, you can display the content "as is" without any modification or claim of property, this is probably not obvious but you cannot claim that you produced the content, you can however display it and use it. IF the site has a protection requiring the user to provide a username/password, you can still display the login/home webpage without any explicit permission, this permission is already granted because it is public. Once the user of your application inputs a username/password "his" session will be granted the required permission to access the remaining content, again since the server sends you the information you can still display it "as is". In the case that your application stores the username/password for later access you need to explicitly inform the user about this, moreover he needs to agree on that. You can use those credentials to access the site later for that user. You cannot store the username/password to automatically login a user different than the owner of the account nor use yourself the contents of the protected webpage trough any means (i.e. scraping and storing for later use).
In short, if you can access the website you can display it as is and that's legal. If the site is protected you can still display what the server sends you (probably home page + some login webpage/option). You can let the user interact with the webpage like any other browser does and he can log in to the protected webpages and you have the right to display that content for that user, not to store it or duplicate/publish/etc.
You can not: show a webpage and claim you built it, unless you have explicit permission from the owner/legal representative of the webpage to do so. You can't even change the webpage to "disguise" it is as something that looks like you built it, without you claiming you did.
For a regular browser-like interaction with internet in general, you already have the rights to display the contents of the webpages that are publicly accessible.
Hope it helps!
According to Wikipedia
On OS X, Safari is a Cocoa application.It uses Apple's WebKit for
rendering web pages and running JavaScript. WebKit consists of WebCore
(based on Konqueror's KHTML engine) and JavaScriptCore (originally
based on KDE's JavaScript engine, named KJS). Like KHTML and KJS,
WebCore and JavaScriptCore are free software and are released under
the terms of the GNU Lesser General Public License. Some Apple
improvements to the KHTML code are merged back into the Konqueror
project. Apple also releases additional code under an open source
2-clause BSD-like license.
LGPL ?!
The GNU Lesser General Public License (LGPL) is a free software
license published by the Free Software Foundation (FSF). The license
allows developers and companies to use and integrate software released
under the LGPL into their own (even proprietary) software without
being required by the terms of a strong copyleft license to release
the source code of their own components. The license only requires
software under the LGPL be modifiable by end users via source code
availability.
You are allowed to display any content you wish , Unless the content has copy rights from 3rd party , only then that 3rd party has the right to claim its rights , assume you are displaying a pirated movie produced by Warner Bros in your app , only then this will be illegal , but still is out of Apple's scope.
Under Content and Intellectual Property Rights (guidelines)
8.5 Apps may not use protected third party material such as trademarks, copyrights, patents or violate 3rd party terms of use. Authorization to use such material must be provided upon request
You aren't doing that. You are allowing your app to utilize safari, what the user does from there falls under the same guidelines they accept when they utilize safari. You are just extending your app to use safari. You aren't granting anyone access to content you aren't allowed to use, you're not facilitating the bypass of any locked content, etc.
This can be found on: https://developer.apple.com/app-store/review/guidelines/

How do I copy data from web page and paste it in file for further use with ruby, watir and cucumber?

The first scenario is run as part of the feature file registration.feature (feature1) and has the following content:
Scenario: User can register as a Free account
Given I am on the home page
When I navigate to the Register page
And set all required fields for "Free" on the page
And check that info about successful registration is shown
And activate account
Then I copy the Free user information in a data file
Then I would like to run the following feature under the upgrade_accounts.feature(feature2)
Feature: Upgrade accounts
As an QA Engineer
I would like to upgrade my accounts to other types
So I can make sure upgrade functionality is working properly
Scenario: Existing free account is upgraded to premium
Given I navigate to the login page
When Sign in as free account retrieved from file
And I navigate to updgrade accounts
And I select premium account and submit
Then Verify premium package is active
My concerns are about how I implement the connection between these two features using something that applies to step: Then I copy the Free user information in a data file from feature1 and When Sign in as free account retrieved from file on feature2.
So I guess the question is: What approach(gem) would be best to use in order to copy data from web page into a file and the read it and use it again?
Thank you!
In general, creating dependencies between features files is discouraged. You want to be able to run features independently with deterministic results, so coupling features through state will likely produce brittle (and breakable) features. For example, it would be impossible to successfully execute upgrade_accounts.feature without executing registration.feature.
If you haven't picked up The Cucumber Book, it's good guide and resource. It recommends setting up application state through before hooks in /support/hooks.rb
Like Orde says, each scenario is unique & independent:
Scenario: User can register as a Free account
Given I am on the home page
When I register for a free account
Then I get a message that registration is successful
And my account is active
Scenario: Existing free account is upgraded to premium
Given I have a free account
When I updgrade my account to a premium account
Then my premium package is active
Two features, two completely separate tests. If you have one single step that injects a free account into the system Given I have a free account, you will not end up with have a failure in upgrading because the step to register the free account failed.
Also, I took the liberty to cut down on the steps to create and verify the account. All the navigation and such are not necessary in the scenario. That is done in the step definition.

Do I need to have an About page in my Windows Phone 7 app?

I want to submit my first app to the windows market place but while trying to find out the certification process I become confused if I need an about page (that contains support information) or not.
Yes you do need to include some information which is probably best to have on an about page. See 5.6.1 in certification requirments
An app must include the app name, version information, and technical
support contact information that are easily discoverable.
If you use the location API you will need to have a privacy policy in the app or linked in the app (requirement 2.7.2, also 2.7.4 is relevant):
The privacy policy of your app must inform users about how location
data from the Location Service API is used and disclosed and the
controls that users have over the use and sharing of location data.
This can be hosted within or directly linked from the app. The privacy
policy must be accessible from your app at any time.
Same goes for if you upload pictures, contacts etc from the app (see 2.8).
Ofcourse this information does not require a dedicated about page, but as they write, should be easy to find for the user.
And if you don't want to spend to much time on your about page and still want it to look great, take a look at this opensource project!
http://ylad.codeplex.com/
It comes as a nuget, so easy to add in your wp7 project! http://nuget.org/packages/YLAD

Composite C1 - Membership Provider - Simple Registration and Login

I am developing my first application using the Composite C1 CMS as the core system. I am currently working my way through the documentation and learning about data structuring, etc. I see that there is a paid Extranet package which can be purchased but I would prefer to develop my own Membership system within the site.
What would be the best way for me to allow users to register on the front end of my Composite C1 website and then to allow them access to a password protected area once they have registered and logged in?
I am a fairly experienced .net developer but Composite C1 is very new to me (at first impressions I like it a lot!)
Thanks
Like the commercial Extranet package you can write a RenderingResponseHandler plugin and register it it the ~/App_Data/Composite/Composite.config file.
Check the guide "How can I validate users before a page or media file is being served?"
RenderingResponseHandler plugins are tasked with approving page and media requests and they can either let the request pass or redirect the request to a new URL.
You would need to take care of the user data base and login page yourself. Also some mechanism that would allow a user of the cms to mark pages as protected/public might make sense.
There is relevant pointers on the CodePlex thread "Restricting access to MediaArchive files"

Resources