Sharepoint 2007 Custom permission level to manage permissions - sharepoint

I have a problem: I need to add custom permission level to sharepoint, that grants access to manage permissions and view (read only) pages.
The permission levels that I set to the permission level are:
SPBasePermissions.Open
| SPBasePermissions.ApproveItems
| SPBasePermissions.ViewListItems
| SPBasePermissions.OpenItems
| SPBasePermissions.ViewVersions
| SPBasePermissions.ViewPages
| SPBasePermissions.BrowseDirectories
| SPBasePermissions.EnumeratePermissions
| SPBasePermissions.BrowseUserInfo
| SPBasePermissions.CreateGroups
| SPBasePermissions.ViewFormPages
| SPBasePermissions.ManagePermissions;
I can Add Groups but "Add user" is unvisible. What I am missing here?
thx!

also include SPBasePermissions.ManageLists

Related

Deploying multi-region AppSync API with latency-based routing custom-domain via CDK

I am attempting to deploy an AWS AppSync API into two AWS regions (accessible via the same hostname - using Route53 latency-based routing) using CDK.
I first ran into the issue that I couldn't deploy an AWS::AppSync::DomainName resource into the second region using the same custom-domain name as the first region, I was experiencing CloudFormation failures which stated:
Invalid request provided: CNAME already exists
This was my assumption about how this ought to be configured:
|-----------------------------|
| my-appsync-api.example.com |
| 2 CNAMES: 1 x ase2, 1 x ew1 |
|-----------------------------|
|
------------------------------------------
| |
|----------------------------| |----------------------------|
| my-appsync-api.example.com | | my-appsync-api.example.com |
| AppSync custom domain name | | AppSync custom domain name |
|----------------------------| |----------------------------|
| |
|---------------------| |--------------------|
| ase2.cloudfront.net | | ew1.cloudfront.net |
|---------------------| |--------------------|
| |
|---------| |---------|
| AppSync | | AppSync |
|---------| |---------|
Given I had setup my Route53 records as CNAMES, I assumed that I should change those to be A records using AWS' alias feature to point at the AppSync domain name. However, although this is possible via the Route53 console, it is not possible via the CDK. When I tried to set this up, I found that there is currently no Route53 target for AppSync (as there is for ApiGateway, CloudFront etc...).
My next attempt was to configure region-specific custom-domain names for each AWS::AppSync::DomainName resources, and create region-specific CNAMES for each; then finally create latency-based routing A records with the desired domain name which route to their respective region-specific domain:
|-----------------------------|
| my-appsync-api.example.com |
| 2 CNAMES: 1 x ase2, 1 x ew1 |
|-----------------------------|
|
-------------------------------------------
| |
|---------------------------------| |--------------------------------|
| my-ase2-appsync-api.example.com | | my-ew1-appsync-api.example.com |
| CNAME for ase2 | | CNAME for ew1 |
|---------------------------------| |--------------------------------|
| |
|---------------------------------| |--------------------------------|
| my-ase2-appsync-api.example.com | | my-ew1-appsync-api.example.com |
| AppSync custom domain name | | AppSync custom domain name |
|---------------------------------| |--------------------------------|
| |
|---------------------| |--------------------|
| ase2.cloudfront.net | | ew1.cloudfront.net |
|---------------------| |--------------------|
| |
|---------| |---------|
| AppSync | | AppSync |
|---------| |---------|
Alas, this did not work either, I ended up with an SSL issue, I assume because the CloudFront distribution (under the hood of AppSync) was configured with the region-specific domain.
It looks to me like the only option I have (given it appears that you can only have AWS::AppSync::DomainName resources with unique custom domain names) is to have a unique custom domain name per-region and then pop an API Gateway proxy in-front of AppSync... although, it adds around 200ms (at least) of latency this way. It'd be great if there was a better way.
Have you seen this blog post by AWS?
The setup looks like something you try to achieve.

Random Data in datatable cucumber

Is it possible to set unique data using datatable instead of harcoding,
I need to contruct a crud UI framework where I will be creating a records then verify that records is been fetched , then updating it and verify records is been updated
Given user wants to register for new account with the following details
| firstName | Micheal |
| lastName | Dre |
| email | test#dddd.com |
| phoneNumber | 5555555555 |
So instead of hardcoding , as the records need to be unique for every test run
Planned to user faker java library , not able to figure what is best apporoch to get this , searched varioud forum but not able to contruct same
Thanks in advance
Instead of adding random data using a datatable, you can do so in your step definition. Or create a helper method that creates a random user and call that from your step definition.
The .feature file is intended to describe the behaviour of the system. If you just need a random user to be logged in, the details of that user are not important to describe that behaviour.
So, your step would be:
Given user wants to register for new account
Your step definitions would be something like:
#Given("user wants to register for new account")
public void userRegistersForNewAccount() {
randomUser();
}
and you will have a helper method randomUser() that returns a random user.
The way of designing scenario doesn't looks good. You should check for other ways. However, one of the possible solution for what you are looking for is possible with qaf-cucumber using parameter with rnd prefix. Your step may look like below:
Given user wants to register for new account with the following details
| firstName | Auto${rnd:aaaaa} |
| lastName | ${rnd:aaa} |
| email | Auto-${rnd:aaa}#dddd.com |
| phoneNumber | ${rnd:9999999999} |

How can I get an updated server parameter to take effect in Azure Database for MySQL?

In the Azure portal I set the value of server parameter lower_case_table_names to 2 and successfully saved, but when I login to the server the change is not reflected:
mysql> SHOW VARIABLES LIKE 'lower%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_file_system | ON |
| lower_case_table_names | 1 |
+------------------------+-------+
2 rows in set (0.26 sec)
What can I do for this change to take effect?
You probably need to trigger a server restart, the problem is, as far as I remember, that Azure Database for MySQL doesn't support it directly.
The workaround is to scale the vCores of the server up and then back down to trigger a restart.
Hope it helps!

#After is invoked multiple times at the end of Scenario Outline in Cucumber

My cucumber Gherkins look like this:
Feature: Story XYZ- Title of Story
"""
Title: Story XYZ- Title of Story
"""
Background:
Given Appointments are being created using "SOAP" API
#scenario1
Scenario Outline: Create an appointment for a New start service order
Given Appointment does not exist for order id "Test_PR_Order123"
When Request for create appointment is received for order "Test_PR_Order123" and following
| FieldName | FieldValue |
| ServiceGroupName | <ServiceGroupName> |
| SerivceGroupID | TestSG123 |
| ServiceType | <ServiceType> |
Then Appointment ID should be created
And Appointment for order "Test_PR_Order123" should have following details
| FieldName | FieldValue |
| ServiceGroupName | <ServiceGroupName> |
| SerivceGroupID | TestSG123 |
| ServiceType | <ServiceType> |
And Appointment history should exist for "Create Appointment"
Examples:
| ServiceType | ServiceGroupName |
| Service1 | ServiceGroup1 |
| Service2 | ServiceGroup2 |
#scenario22
Scenario Outline: Create an appointment for a Change Service order
Given Appointment does not exist for order id "Test_CH_Order123"
When Request for create appointment is received for order "Test_CH_Order123" and following
| FieldName | FieldValue |
| ServiceGroupName | <ServiceGroupName> |
| SerivceGroupID | TestSG123 |
| ServiceType | <ServiceType> |
Then Appointment ID should be created
And Appointment for order "Test_CH_Order123" should have following details
| FieldName | FieldValue |
| ServiceGroupName | <ServiceGroupName> |
| SerivceGroupID | TestSG123 |
| ServiceType | <ServiceType> |
And Appointment history should exist for "Create Appointment"
Examples:
| ServiceType | ServiceGroupName |
| Service1 | ServiceGroup1 |
| Service2 | ServiceGroup2 |
In above feature there is a background which will execute for each example in both Scenario Outline.
Also, in java implementation we have implemented #After and #Before hooks which will also execute for each example.
We are using spring-cucumber for data injection between steps.
Problem occurs when all examples in first scenario outline ends, #After implemented method is invoked 2 times. When 2nd time #After starts at the same time 2nd Scenario Outline examples start executing.
As a result sequential execution of scenarios is disturbed and automation start to fail.
Please suggest if this is a bug in cucumber or we are missing anything.
One of the many things you are missing is keeping scenarios simple. By using a scenario outlines and by embedding so many technical details in your Gherkin you are making things much harder for yourself. In addition you are using before and after hooks to make this work.
Another problem is that your scenarios do not make sense. They are all about making appointments for orders, but your don't at any point create the order.
Finally you have two identical scenarios that you say do different things. The first is for New, the second is for Change. There has to be some difference otherwise you would not need the second scenario.
What I would do is try and extract a single scenario out of this tangle and use that to diagnose any problems. You should be able to end up with something like
Scenario: Create an appointment for an order
Given there is an order
And appointments are made using SOAP
When a new start appointment is made for the order
Then the appointment should be created
And the appointment should have a history
There should be no reason why you can't make this scenario work without any #before or #after. When you have this working then create other scenarios whatever other cases you are trying to examine. Again you should be able to do this without doing any of the following
Using example data to differentiate between scenarios
Using outlines
Using #before and #after
When using Cucumber you want to push the complexity of automation outside of Cucumber. Either pull it up to script before Cucumber starts, or push it down to execute in helper methods that are called in a single step definition. If you keep the complexity in Cucumber and in particular try and link scenarios to each other and use #before and #after to keep state between scenarios you will not have a pleasant time using (misusing) Cucumber.
Its far more likely that your problems are caused by your code than by Cucumbers. Even if Cucumber did have a problem with outlines and hooks, you can fix your problems by just not using them. Outlines are completely unnecessary and hooks are mostly misused.

cannot drop table with cassandra and cqlsh

I'm setting a bigdata environment. I'm trying to use Cassandra database, but I'm ignoring something apparently.
I need to change the 'caching' property of the table 'system_trace.events' to fix a 'spark-connector' issue.
It crash when handle a 'caching' 'keyword' value [KEYS_ONLY|ROWS_ONLY|NONE] as it tries to parse value like a json map.
The main problem is I cannot modify any table.
In order to isolate the problem, I created a new table named 'events2' and set permission to modify it.
Here the code:
vaio#vaio-VPCEH30EL:~$ cqlsh -u admin -p 123456
Connected to Test Cluster at localhost:9160.
[cqlsh 4.1.1 | Cassandra 2.2.1 | CQL spec 3.1.1 | Thrift protocol 20.1.0]
Use HELP for help.
cqlsh> LIST ROLES OF admin ;
role | super | login | options
-------+-------+-------+------------------
admin | True | True | \x00\x00\x00\x00
(1 rows)
cqlsh> LIST ALL PERMISSIONS OF admin ;
role | username | resource | permission
-------+----------+-------------------------------+------------
admin | admin | <keyspace system_traces> | DROP
admin | admin | <table system_traces.events2> | ALTER
admin | admin | <table system_traces.events2> | DROP
(3 rows)
cqlsh> DROP TABLE system_traces.events2;
Bad Request: Cannot DROP <table system_traces.events2>
here the problem:
Bad Request: Cannot DROP <table system_traces.events2>
I change '/etc/cassandra/cassandra.yaml' to enable sessions
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
Can somebody detect what i am omitting?
Do not drop system tables. Instead use a compatible version of the connector with your version of Cassandra.

Resources