Collaborator on Document Level vs. Class Level Access
Hi Guys,
I am wondering what happens when you add a user as a collaborator / reviewer to a document that has not been given authorization on class level, ie. the user has no access to auctions but I am adding him/ her to an auction as a collaborator?
Any idea if I can select this user?
Thank you.
/Anita
System would throw an error message indicating the user does not have the requisite permissions.
It would be something like this:
"Either change the role to one with only a view right or add an edit permission to the user or the group. XXX could not be added because they do not have edit rights, but the selected role grants edit rights."
Thanks,
Vikram
Similar Messages
-
Setting Item level access rights on sharepoint list item in ItemAdding event handler
Hi ,
I am using sharepoint 2013. I am trying to set item level access rights when a list item is added using the following code snippet,
public override void ItemAdding(SPItemEventProperties properties)
base.ItemAdding(properties);
ConfigureItemSecurity(properties);
private void ConfigureItemSecurity(SPItemEventProperties properties)
var item=properties.ListItem;
SPSecurity.RunWithElevatedPrivileges(delegate()
using (SPSite site = new SPSite(properties.SiteId))
using (SPWeb oWeb = site.OpenWeb())
item.ParentList.BreakRoleInheritance(true);
oWeb.AllowUnsafeUpdates = true;
var guestRole = oWeb.RoleDefinitions.GetByType(SPRoleType.Reader);
var editRole = oWeb.RoleDefinitions.GetByType(SPRoleType.Editor);
SPGroup HRGroup = oWeb.SiteGroups.Cast<SPGroup>().AsQueryable().FirstOrDefault(g => g.LoginName=="HR Team");
SPRoleAssignment groupRoleAssignment = new SPRoleAssignment(HRGroup);
groupRoleAssignment.RoleDefinitionBindings.Add(guestRole);
SPUserCollection users = oWeb.Users;
SPFieldUserValueCollection hm = (SPFieldUserValueCollection)item["HiringManager"];
SPFieldUserValueCollection pm = (SPFieldUserValueCollection)item["ProjectManager"];
SPFieldUserValueCollection pmChiefs = (SPFieldUserValueCollection)item["ProjectManagerChief"];
item.BreakRoleInheritance(true);
item.RoleAssignments.Add(groupRoleAssignment);
foreach (SPFieldUserValue staffMember in hm)
SetRightsOnItem(item, staffMember, editRole);
foreach (SPFieldUserValue staffMember in pm)
SetRightsOnItem(item, staffMember, guestRole);
foreach (SPFieldUserValue staffMember in pmChiefs)
SetRightsOnItem(item, staffMember, guestRole);
item.Update();
private void SetRightsOnItem(SPListItem item, SPFieldUserValue staffMember, SPRoleDefinition role)
SPUser employeeUser = staffMember.User;
var userRoleAssignment = new SPRoleAssignment(employeeUser);
userRoleAssignment.RoleDefinitionBindings.Add(role);
item.RoleAssignments.Add(userRoleAssignment);
Nothing is happening though... Is the event handler the right place to do this?
thank youHi ,
You can refer to the code working in my environment:
using System;
using System.Security.Permissions;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.Workflow;
namespace ItemLevelSecurity.ItemSecurity
/// <summary>
/// List Item Events
/// </summary>
public class ItemSecurity : SPItemEventReceiver
/// <summary>
/// An item was added.
/// </summary>
public override void ItemAdded(SPItemEventProperties properties)
SPSecurity.RunWithElevatedPrivileges(delegate()
try
using (SPSite oSPSite = new SPSite(properties.SiteId))
using (SPWeb oSPWeb = oSPSite.OpenWeb(properties.RelativeWebUrl))
//get the list item that was created
SPListItem item = oSPWeb.Lists[properties.ListId].GetItemById(properties.ListItem.ID);
//get the author user who created the item
SPFieldUserValue valAuthor = new SPFieldUserValue(properties.Web, item["Created By"].ToString());
SPUser oAuthor = valAuthor.User;
//assign read permission to item author
AssignPermissionsToItem(item,oAuthor,SPRoleType.Reader);
//update the item
item.Update();
base.ItemAdded(properties);
catch (Exception ex)
properties.ErrorMessage = ex.Message; properties.Status = SPEventReceiverStatus.CancelWithError;
properties.Cancel = true;
public static void AssignPermissionsToItem(SPListItem item, SPPrincipal obj, SPRoleType roleType)
if (!item.HasUniqueRoleAssignments)
item.BreakRoleInheritance(false, true);
SPRoleAssignment roleAssignment = new SPRoleAssignment(obj);
SPRoleDefinition roleDefinition = item.Web.RoleDefinitions.GetByType(roleType);
roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
item.RoleAssignments.Add(roleAssignment);
Thanks,
Eric
Forum Support
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
[email protected].
Eric Tao
TechNet Community Support -
Document-level javascript quandry
Ok, completely clueless newbie here whose only coding experience is Access VBA…from a few years ago. Need to write up some Javascript to make this work – that was a month’s worth of a migraine. I ask for your patience, and would like to ask for forgiveness in advance for any headaches I induce while you try to figure out my problem(s). Also, I’m not sure how to copy paste images or code examples, but I will do my best.
So, basic premise: make a drop-down combo box that will populate another combo box based on whatever was selected in the first box – in this case, 31 items in the ‘Inventory Parts Used’ list, and a total of 427 respective sizes in the other list.
YES, I’ve already looked at that http://acrobatusers.com/tutorials/js_list_combo_livecycle1 example, and followed it closely. Took me forever, but I somehow got it to work. Was very happy. Only thing I couldn’t figure out was the export value b/c mine wasn’t a number. But I solved that by putting the CodeID and respective PartSize together (ex: 4-inch Fire Hydrant would show up as "FH-01: 4"). Anyways, I selected that working row and choose the “Place Multiple Fields” option times 15 rows. Still working. I’m dancing a jig. Then I tried to check on the code:
“Text cannot be displayed in full by the Edit Dialog. Please use an External Editor.”
Uh… So I deleted a row at a time until I could see what my limit was. I had to pare down 15 rows to a measly 3 rows. Took me a while but I was able to see where the problem was. Instead of being written into the Document-Level JS, my array was tied to the first combo box’s Keystroke event on the Field Level. So when I multiplied the rows, that humongous list essentially had diarrhea.
I’ve tried to delete that header and keep it to Document Level. It basically ignored me and keep those lines. When I did manage to make the <Document-Level> on top, it just didn’t work.
( //<AcroForm>
//<ACRO_source>Row0.InvPart:Keystroke</ACRO_source>
//<ACRO_script>
/*********** belongs to: AcroForm:Row0.InvPart:Keystroke ***********/ )
I’ve searched other forums about the Document-level…. I swear I read a lot of forums that said using Advanced>Document Processing>Set Document Actions>Edit All was ok. Clearly it’s not ok, especially after I found this forum: http://answers.acrobatusers.com/Where-I-enter-document-level-javascript-adding-FormRouter- Calendar-q55527.aspx.
So I guess my question(s) is this: IS that “Edit Document Javascripts” really necessary? B/c I’ve looked and I don’t have it. I’m using Adobe Acrobat 9 Standard, ver 9.5.5 (and I’m using Windows XP Pro ver 2002 , if that matters). Is this JS editor only available to the Pro version? Would it really be a bad thing to just leave it alone as a keystroke event (aside from the unwieldy large, duplicated codes it vomits as a result)? Or maybe, is there a way to code a new row on instead? I remember seeing an example where you can add more lines as needed, but I can’t for the life of me find it again.
Thank you in advance for all your assistance.* Huh....it just figures... right after I finally give up and post up a question, I would find the answer. =_=;; http://forums.adobe.com/message/4727325#4727325.
So, Standard version apparently doesn't have that exalted “Edit Document Javascripts”. Apparently a way around it is using the Page Open event. Well, it works - the massive array only shows up once in the editor, and the multiple rows each call the function instead. Nice.
Well, I will leave this up in case someone else can use the reference. Thanks to anyone who read this and was going to answer me. =)
Don't suppose anyone knows how to create a code to add new rows instead of having 15 rows straight off the bat? Or should I make a new post for that? -
Delete Document Level Script Using JavaScript?
Hello all.
Is there a way for a document level script to delete itself? I am running Adobe Acrobat Professional 11.
My situation is that I am currently analysing data using a Java application. The Java application taylors a script to suit each specific PDF, and then inserts it into the PDF automatically. When the PDF is opened, the script runs once and then is no longer needed.
As the script is no longer needed it would be preferred if the script could automatically be deleted. Is it possible the script has access to the field in which it is stored (e.g. doc.javascriptField = "";)? Or by some miracle, a delete function already exists?
I think that due to the lack of need for such a function by general and advanced users I won't get the answer I am hoping for. But it is worth a shot. In the mean time, I am inserting a flag into the KeyWord field so that the script does not run twice. It works, but it is not exactly clean.
Any help would be greatly appreciated.
Thanks
Jonny OMy original idea of...
stamper.addJavaScript("this.addScript("oneTimeScript", "app.alert('Annoying Popup')")");
Did not work.
However, while debugging I did come across the name given to a script added via iText (Java library). The default is "000000000000000". With any added scripts being incremented by 1. So the this.removeScript("ScriptName") function works perfectly.
Thanks
Jonny O -
SD BW reporting on EDIDC table and RRI to document level - urgent
I need to do some BW sales reporting. To get to those fields, I need to access EDIDC table. But it only gives iDoc info.
How do I get to document level details (RRI) from iDOC nos.
Please help.
Thanks
Marycould any one give me table name to browse IDoc numbers and corresponding document nos.
-
Hello Friends,
One of my SharePoint 2013 portal user does not have any level of access to the site and to one of the document libraries. And the documents have unique permissions in the library.
Can that user:
1. Access the document
2. Edit and save the document.
Many thanks for any suggestions.
PrajwalHi,
According to your post, my understanding is that you wanted to set document level permission to make the user access the document.
If the user does not have any level of access to the site and to one of the document libraries, he can’t access any documents in the libraries.
As workaround, you can share the document to the user. If you share the user with View permission, he can access the document; if you share the user with Edit permission, he can edit and save the document.
In addition, you can let the administrator grant the user enough permission which should be higher or equal than the unique permissions in the library.
For more information, you can refer to:
http://sharepoint-community.net/profiles/blogs/sharing-in-sharepoint-2013-1
Best Regards,
Linda Li
TechNet Community Support -
Hi all,
I have assigned document level permissions in KM but the super administrator gets a default full control over the documents. Can somebody tell me how can i restrict super admin's default full control access?
thanx and regards,
anuradha.Hi,
we do the same in our portal:
Super Administrators have the permissions for User Administration, Content Administration, etc., but the normal permissions on the KM resources do also work.
There is a role(?)/special functionality(?) called "system principal" which can be assigned to roles and to single users. With system principal access, you can access every KM resource.
If you deassigne the system principal permissions for the super administrator role, you get what you want.
(It's best to leave at least one system principal user in the portal.)
Best regards
Sandra -
Is it possible to create document level javascript ?
I would like to create a function that I would be able to call in events.
And is it possible to store an object (like an ADBC connection) at the document level to access it where I want ?
Thanks.
LaurentThere is something called "script object". The script object is an object that you can use to store JavaScript functions and values separately from any particular form object. Typically you use the script object to create custom functions and methods that you want to use as part of scripts in many locations on your form. This technique reduce the overall amount of scripting required to perform repetitive actions.
To add a new script object to your form:
- Create a new form or open an existing form.
- In the Hierarchy palette, right-click either a form-level object or a subform-level object and select Insert Script Object.
- You can rename your script object (optional) by right-click the script object and select Rename Object. -
BI system at document level,
Hi,
What is meant by BI system at document level?No, you can't do that, but you can encrypt the file and prevent people from
accessing the code.
Another option is to use some tool to obfuscate it, so it's not so easily
readable.
If this is still not sufficient, then maybe using scripts in a PDF is not
the solution for you and you need a more secure medium, like a web-page. -
Import image using JS (preferred on document-level)
Hello,
I am going to implement a dynamic legend using JavaScript in Adobe Acrobat. The document contains a lot of layers. Every layer has an own legend. The origin idea is to implement the legend so, that it contains the images in a dialog box for the visible layers. I can only hide/show the layers by setting state to false or true (this.getOCGs()[i].state = false;) on document-level.
Question 1: Can I extract data from layer somehow for legend establishing? I think no, as we only have these function on layers: getIntent(), setIntent() and setAction(). Right? Therefore I decided to arrange it so, that all needed icons for every layer are saved in a folder with corresponding names. JavaScript should import the icons and I build the a dialog window with icons of visible Layers and place a text(description for this icon).
I tried all possibilities of image import described here: http://pubhelper.blogspot.com.au/2012/07/astuces-toolbar-icons-et-javascript.html. I got only one way (Convert the icons as hexadecimal strings). This way isn't good, as it is too much work to create with an other tool a hexadecimal string from a images and place it into a javascript code.
Unfortunately, I cannot import image using other methods:(. Since the security settings in Adobe are changed after version 7 or so, it is not possible to use functions like app.newDoc, app.openDoc, even app.getPath On document-level. I decided to implement the import on the folder level using trusted functions like this:
Variant 1:
var importImg = app.trustedFunction(function() {
app.beginPriv();
var myDoc = app.newDoc({
nWidth: 20,
nHeight: 20
var img = myDoc.importIcon("icon", "/icon.png", 0);
app.endPriv();
return img;
var oIcon = importImg();
NotAllowedError: Security settings prevent access to this property or method.
App.newDoc:109:Folder-Level:User:acrobat.js
Variant 2:
var importImg = app.trustedFunction(function() {
var appPath = var phPath = app.getPath({
cCategory: "user",
cFolder: "javascript"
try {
app.beginPriv();
var doc = app.openDoc({
cPath: phPath + "/icon.png",
bHidden: true
app.endPriv();
} catch (e) {
console.println("Could not open icon file: " + e);
return;
var oIcon = util.iconStreamFromIcon(doc.getIcon("icon"));
return oIcon;
var oIcon = importImg();
Error: Could not open icon file: NotAllowedError: Security settings prevent access to this property or method.
The settings in Preferences->JavaScript-> JavaScript Security are disabled (Enable menu item JS execution privileges, enable global object security policy).
Question 2: Is it not allowed or should I change some other settings or use the import on any other way?
I tried all these possibilities with .jpg, .png, .pdf. with different sizes(big images and 20x20 pxls), It doesn't work.
Could somebody help me, as I spent a lot of time with trying different possibilities. It would be actually better to implement the main goal described above on document level, are there other possibilities to access images, maybe using xml or something else) (Question 3)?
Thank you and kind regards,
Alex... After checking: I cannot delete my posts either.
I can see some sort of button "Actions" at the bottom of my replies, but it seems to be missing from a 'main' post. You may want to ask this in the Forum About Forums: Forum comments -
Delivery completion flag at delivery document level
Hello Tean
we have developed one inbound interface and Now the interface is working fine.. I am able to do the GR against inbound delivery and the PO status and delivery completion flag is also set at the PO level but now my FO is asking to me to set the delivery completion flag at inbound delivery document level and updation of history also. so i request you to please check and help me to find the solution.
Technical details which i have used for developing the interface
IDOC type: MBGMCR03
Message type: MBGMCR
Post Goods Movements with MB_CREATE_GOODS_MOVEMENT (ie bapi_goods_mvt_create )
Please check and let me know the solution.
Regards
Rajuse T code SQVI. here you can join tables having atleast one key field among.
SQVI> give table name> press create> pop up will come> give the details > select table join from the drop down> click insert table> in pop up give table name > table details will appear> again press insert table> give next table name and so on. this way you can join many tablesd with key field. if key field is not there. it will not allow. after joing all the required tables press back button.
now from left side pane you can select the fields from ech table and decide which should come as input ( for eg company code , date etc) and the outputs from each table. Then save.
now you can execute this in the same screen. or else you can use it later on also. go to SQVI. give the Quickveiw name you have selected. and exceute. it will act a report with the inputs and outputs you have selected.
if you want to restructure the report . it is possible. change the input and output fields. and save -
Issue with the site level access in the trial ac
I am following the given video to get an understanding of site level access.
SAP HANA Cloud Portal Setting Access Levels in the Site - YouTube
I could not find the option of setting the site level access to either public, restricted or private in my trial ac. in the site settings as per the given video above. Could this be some authorization issue or some settings that needs to be done.Hello,
The site access level configuration is now under the Access Managment entry in the side panel.
Please follow the documentation in the link below.
SAP HANA Cloud Portal Documentation
Regards,
Eliel. -
Any option to restrict SE16 record level access based on company code?
Hi All,
I have a requirement to restrict record level access in SE16 based on company code.
Our SAP system has two company codes. The requirement is that users of one company code should not be able to see records of other company code in SE16.
Is it possible through some exits/badis/other methods?
Thanks in advance.
Regards,
Arun MohanYou could write a small front end that accepts the company code, applies custom authorization code for each value and retains or removes, then calls the transaction and enters the selections the user requested and that your authorization check resulting in "passing".... Of course, you'd have to block those users from "pure" SE16... I once worked in situation similar, users in one country couldn't see USA data, etc. I think someone wrote an entire new program, called by ZSE16, for that.
-
T-code FAGLB03 drilldown to document level cant view the field cleared/open
Hi everyone,
It is my first time to post a thread here.
Currently i using ECC 5.0 GL Balance displayed through FAGLB03:
when i drill down to documet level and i need to create my own layout i cant see
the field "cleared/open items symbol". But if i using t-code FS10N, when i drilldown to document level i can select the field "cleared/open items symbol", or
i can select local currency3.
hope anyone can help on thisHi Christoph
thank you to reply my message,
Support package is upto 5 in our company. Below is our package information :-
EA-APPL 500 0005 N SAP R/3 Enterprise PLM, SCM, Financials
EA-DFPS 500 0005 N SAP R/3 ENTERPRISE DFPS
EA-FINSERV 500 0005 N SAP R/3 Enterprise Financial Services
EA-GLTRADE 500 0005 N SAP R/3 Enterprise Global Trade
EA-HR 500 0005 N SAP R/3 Enterprise HR Extension
EA-IPPE 300 0004 P EA-IPPE 300: Add-On Installation
EA-PS 500 0005 N SAP R/3 Enterprise Public Services
EA-RETAIL 500 0005 N SAP R/3 Enterprise Retail
P 2004_1_500 0014 P PI 2003_1_470 : Add-On Delta Upgrade
PI_BASIS 2005_1_640 0010 X Basis Plug-In (PI_BASIS) 2005_1_640
SAP_ABA 640 0009 S Cross-Application Component
SAP_APPL 500 0005 R Logistics and Accounting
SAP_BASIS 640 0020 S SAP Basis Component
SAP_BW 350 0009 W SAP_BW 350
SAP_HR 500 0005 R Human Resources
ST-A/PI 01I_ECC500 0000 C Application Servicetools for ECC 500
ST-PI 2005_1_640 0005 X SAP Solution Tools Plug-In
VIRSANH 510_640 0000 C RTA 5.1 Installation package for HR and
If my company using package 5, so can we apply this note 862523 ? when i refer this note in our system didnt exist this 2 report which are FAGL_CORR_0001 and FAGL_CORR_0002 , how can i apply this ?
Hope you can guide me on this . thank you -
We have two cubes one is sales document count cube (header data) and other one is sales transation cube (item level data) . Invoice net val is there in sales document count cube and profit center, principal and item category is ther in sales transation cube.
our requirement is ,total amount of all the items of invoice at document level to present along with principal, profit center & item category.
This has to be done in the document count cube and not the transaction cube.
note: multi provider is not solution. There any solution at query level?hi
If your using 2 ODS one for header and one for Item to 2 Cubes.....
Then just create a update rule between Item data ODS to Document CUbe mapping the new keyfigure ( Net value of total of all items in sales order )
If not tel me how the cubes and ODS are fed the data
Assign points if useful
Regards
N Ganesh
Maybe you are looking for
-
Everytime I try and set up Firefox sync, it tells me that it cannot sync and gives me an unknown error. I have tried to reset sync but have had no luck in getting it to actually sync. [https://skitch.com/achernow/riyhs/syncerror This is a picture of
-
How to apply a format to all hyperlink in CS4 file
Hello, this is my first post, We are writing a magazine that we will publish as a PDF. We would like all hyperlink to stand out (we created a character style with these attributes: Candara Bold, Dark Red). The magazine will have a lot of hyperlinks i
-
10.0.6 Projects/Events on External Drive Issue
Ever since the update of 10.0.6, I seem to be having an issue with the projects that are stored on my external media. They are no longer shown in the project manager (infact one of the storage devices flashes up with the project but then it dissapear
-
WLS: Error running app in Weblogic 1035
I have an application created in JDeveloper using ADF ADF 11115-Security. successfully deployed in WLS 10.3.5. The JDBC configuration and myreal ConnectionGoldDS was created called ERPDaniela provider, and its configuration by using sql statements fo
-
Hello Forum, I wanted to take up certification.So where can i download the materials for BW 305,310,315,330,340 etc. I wanted to have the soft copies of these materials. Thanks & Regards, BV Jagadish