Sharing Test Cases Kiwi-tcms - kiwi-tcms

I want to know if I can share the documentation of a test plan and test cases created from the website https://public.tenant.kiwitcms.org/ to people.

I want to know if I can share the documentation of a test plan and test cases created from the website https://public.tenant.kiwitcms.org/ to people.
As the URL suggests anyone can create an account and access this website so you can share any TestPlan, TestCase and TestRun you wish. By default Kiwi TCMS requires the user to be logged in because in most environments this information is not for public consumption.
If you are asking if you can send URLs to anonymous users for them to have read-only access the answer is Yes but that needs to be configured. Because of the reasons outlined above this is not the default setting on https://public.tenant.kiwitcms.org
On the contrary, we have another instance used by our own team which has the necessary setting configured and allows anonymous read-only access, see: https://tcms.kiwitcms.org/plan/1/conference-readiness#testcases
Disclaimer: this answer has been provided to you by a Kiwi TCMS team member.

Related

Looking for suggestions on web hosting solution (Wix, Squarespace, WordPress, for following

I want to host a clean, branded site that allows users to submit data which I will post process on some regular cadence and send custom emails based on data processing results. I can write code and have extensive experience with AWS, but am looking for the fastest solution.
Any experienced web developers have suggestions of which hosting solution to use? Wix, Squarespace, WordPress. I would prefer Squarespace but am not finding clear documentation stating I can create a form which writes to a database (I.e. DynamoDB, Redshift).
Any suggestions would be great! Thanks!
Having a good deal of experience with Squarespace, I will address the question "Is it possible to connect a Squarespace form to a third-party database and, if so, by what means?". While I won't address Wix or Wordpress, hopefully it will provide some objective answers and provide some help to your larger context/question.
Squarespace doesn't support any server-side code; it only supports supports the addition of HTML, CSS and Javascript within Code Injection, Code Blocks, and Developer Mode.
Therefore, your options are:
Send the data client-side with JavaScript. Write your own HTML form and insert it via code block, markdown block, of developer mode. Then write the corresponding JavaScript to send the data, on submit, to your external database. Alternatively, use a Squarespace form block, prevent the default submission from executing and use your own methods instead.
Connect the Squarespace form block to a Google Sheet and the sheet to the external DB via Apps Script. Once connected, use Apps Script (set to trigger when a row is added to the sheet) to obtain the submission from the sheet and send it to your external database (similar to this or this, but you'll be going "the other way", sending data to the external DB from Apps Script).
Use Zapier (or similar service) to bridge the gap, either using Squarespace's built-in integration or setting up Zapier on your own and setting the Zapier email address as the email recipient. You can use Zapier to send form submissions to a new item in DynamoDB, for example. It appears that, at a minimum, you'd have to pay for Zapier as that is a "Premium Integration". For Squarespace, if you were to use their built-in Zapier integration, you'll have to pay for a higher-cost plan (which could be avoided by using the email storage option instead, as mentioned previously).
I think you should choose WordPress, they have a huge documentation, a big community, you can get a ton of support from Wordpress's users when you run into a problem.

apex how to login to another application from link in one application?

I have two applications in my workspace, APP 1 and APP 2.
In my case, user will log in to APP 1. from there, i put a menu(or a link) to APP 2. however APP 2 requires authentication. So it will take me to a login page. i would like to eliminate that and get the current user's credentials on APP 1 and login to APP 2.
i'm looking for a simple straightforward method (but need to consider security) to login to APP 2.
what i could think of is apex_collection..i could store credentials n use it to create a login process for APP 2. however apex_collection is session based. eventhough i've set session for APP 2, it still wont read values from my apex_collection.
Does anyone have a suggestion or a solution?
All you need to do is use the same authentication scheme in both applications and set the cookie name attribute to the same value in both authentication schemes like this:
APEX will then use the same session across the two applications and the user will not have to log in again when they navigate from one to the other, provided of course that you pass the SESSION_ID in the URL.
A Few Comments on Default APEX Workspace Authentication Security
It may also be helpful to expand on an explanation of why the solution posted by #TonyAndrews works.
For any Apex Apps within the same workspace, if they use the default "APEX Application Authentication" method, they will consult the same authentication user list... so USER1 and its password is a valid login for any of the "neighboring" applications...
This may be a concern if you are hosting different clients or users that should not be intermingling with the other applications. You can also define user GROUPS in the same place as you set up each workspace user. Each application can have its own security filter that permits access by membership of BOTH user/password authentication AND membership in the appropriate access group.
Sharing workspaces may also be a problem because of the unique user name restriction of a single workspace. You can get around that by:
Defining different name-spaces for each application:
Email addresses are good: "someuser#sampledomain.com"
An app id prefix such as: SHOP_EDNA, SHOP_GARRETT, TC_KAREN, TC_MARLOWE, MY_BORIS etc.
Different name styles: first name only, first name + last initial, etc.
To keep things simple, you can always just spin up a brand new workspace: a warning however is that common user names like `ADMIN` are NOT the same between separate workspaces. There shouldn't be much concern however because apps or workspace users may have the same or different schema access privileges to the database back end.
A Word of Caution to Administrators and Developers:
When you go live with an application or multiple applications on a user-facing system, keep in mind the deployment destination (i.e., the workspace) and what else is sharing that workspace. There are some real situations where apps are not intended to be shared or accessed by other "inside" users. Be sure to read up and understand the security constraints and methods of using Default Apex Authentication security so that it's more than luck that protects your own production/live deployed applications.
I do have the similar requirement, linking from one application page to another.
Tried the above mentioned solution, but still asking to login to second application. My Apex ver is 5.0.3 and trying in same workspace.
Created new authentication schemes for each app with same cookie name and set them as current authentication. Scheme type are Application express accounts.
Setting the link as below from first app page to second.
href="http://servername:port/apex/f?p=224:2:&APP_SESSION"
Could anyone provide a solution, please?
Just an update on this.
I am currently using v21.2 and this is how I do it:
In both applications, go to Shared Components > Authentication Schemes > (Select your Auth Scheme);
Scroll down to Session Sharing and select 'Workspace Sharing';
In one of the applications (source), create a link (as a Navigation Bar List entry, for example) like f?p=173:1:&SESSION., where 173 is the target application ID and 1 is the target page.
After some research, I've found out that this feature (Session Sharing Type) is available since v18 of APEX.

Infuriating user queries on Google's App Engine

I have a web service on Google's App Engine that uses Google's user API for authenticating users, managing accounts (including premium service subscriptions), and for managing data ownership. For almost everything, it works really great.
However, very often I need to use the datastore viewer to check on a user's entry in response to a support request, and need to enter GQL to look up someone's account info. The query usually looks like this:
SELECT * FROM UserAttr WHERE user = USER('blah#fish.com')
This should work just fine, but for whatever reason, the USER constructor (?) above is case sensitive, and furthermore, sometimes has weird behavior if the user has a Google account with a gmail.com address. If it's a gmail.com address, sometimes USER('whoever#gmail.com') works, but sometimes USER('whoever') works. It's maddening that I have to try all kinds of different permutations in the GQL console to try and look things up, and I usually give up if the obvious case differences don't work.
Am I doing something totally wrong here, or is the behavior of this really this bad? Any idea if this kind of thing works better in the Python API (that is, if I do a similar request via Python, will it still exhibit this idiotic behavior?). I'd like to avoid writing my own admin pages for this app, if I can make Google's dashboard work for me.
I'm having the same problem, I figured out that google doesn't recommend storing users at the datastore at all as the email address might change:
from here:
Both the db and NDB libraries have UserProperty property types so that
applications can store user values. However, since these values become
invalid when users change email address, most applications have no
good use for this feature.
they probably also mean when the user representation changes internally.
I'll let you know if I find anything to solve this
---- EDIT ----
here
they recommend storing the user's ID for the sake of queries and comparisons. makes sense...

How to provide some startup objects when starting/deploying an app to AppEngine?

I'm looking at way to easily have objects similar to 'fixtures', but for the real database (or my local host work environment).
For example, let's assume I write a blog app. By default (when I load the app in browser, these objects should already be in datastore), it requires an USER (i.e. first admin). While the mechanism is not specific to appengine, I'm interested in this particular case.
Thanks.
Have some admin page in your app, checking if the required data already exists, and asking the user to press a button to insert it (or doing it automatically without even asking the user).

Determine whether a user is a developer of a facebook app

I'm looking at ways to secure the admin section of my (cakephp powered) Facebook application. To avoid duplicating functionality, I thought it'd be neat to allow access to people who have been flagged as developers in the app settings.
The question could then be: How do I determine whether a user of my Facebook application is a developer?
Alternatively: How do I obtain an array of developer user IDs for my Facebook app?
I tried looking for your answer myself, and the only thing I found that you could possibly do is to make a group private and invite-only to developers and then use the fb:if-is-group-member tag. http://wiki.developers.facebook.com/index.php/Fb:if-is-group-member
OK, so I found out how to do it by myself. Props to Samuel for giving me the idea.
Basically, the way to do it is to run an FQL query that establishes whether a user is an admin of the applications page (page_admin).
SELECT uid FROM page_admin WHERE uid = 286302657 AND page_id = 31290624157
In the PHP client, this returns an array for developers and an empty string for anyone else.
I decided to use the FQL rather than the API call because it is possible to preload the FQL to reduce calls to the Facebook servers.
Hope this is useful to somebody.

Resources