Autor Thema: view von private auf shared  (Gelesen 4655 mal)

Offline zeeboo

  • Frischling
  • *
  • Beiträge: 49
  • Ich liebe dieses Forum!
view von private auf shared
« am: 18.07.03 - 09:31:06 »
hallo

ich habe ein view als "private" erzeugt.
nun möchte ich diesen auf "shared" umstellen.
gibts da eine möglichkeit??

thx & greeetz

zeeboo

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:view von private auf shared
« Antwort #1 am: 18.07.03 - 11:29:58 »
private ist private ..... wieso den umstellen ? ..... geht nicht .... erzeug dir einfach ne neue shared view


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:view von private auf shared
« Antwort #2 am: 18.07.03 - 15:52:08 »
Das stimmt: Privat ist privat (einfach gesehen). Und der Aufwand ist überschaubar, mit dem man den Fehler wieder ausmerzen kann (Zugriffs- und Maskenformel, Spalten und Actions usw.) in eine neue View zu kopieren - und eine Lehre, beim nächsten Mal besser aufzupassen.

Andererseits wäre es ein nettes Projekt für "lange Winterabende": Man sollte über die DBDesign Class von Damien Katz (die Kenner wissen jetzt, was ich meine, die anderen lassen davon besser erstmal die Finger) an die zuständigen Properties von Agents und Views/Folders herankommen. Private views haben ein Item $Authors - tut es dann public, wenn das weg is ? Bei den Agents scheint es ähnlich zu sein. Über derartige "Verbiege-Routinen" noch 'ne schnuckelige App mit Auswahl der zu ändernden DB und des zu ändernden Design-Elements, und diese ärgerlichen kleinen Versehen mit dem vergessenen Public-Häkchen wären (vielleicht) schnell vergessen.
Für die Property "Don't inherit design" gibt es sowas ja schon, das müßte dann auch mit 'rein.

eknori, ata und die anderen Profis: Was meint Ihr ?

Ein schönes Wochenende wünscht
Bernhard

Glombi

  • Gast
Re:view von private auf shared
« Antwort #3 am: 18.07.03 - 16:06:20 »
Hi,
ist jetzt zwar nicht für Views, sondern Agenten...

Alternativ: Mit dem R6 Designer Client kann man Agenten auch nachträglich ändern.

Agent 1: going from PRIVATE to SHARED:
======================================
Sub Initialize
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++
' + Agent "Change Agent to SHARED"
' + sub Initialize
' + This agent changes another agent within the same database
' + from PRIVATE to SHARED;
' + Since there is no other way (at least none that I know of) it loops
' + through all possible Note IDs from 0x0001 to 0xFFFF; if the agent
' + isn't found within this range and misspelling can be excluded as a
' + reason the range has to be extended (resulting in longer
' + processing time !).
' + Once the agent to be changed is found the design note fields
' + "$AssistFlags" and "$Flags" are manipulated:
' + the first field controls the "Shared Agent" checkbox, the other is
' + a combination of various design note properties; both have to be
' + manipulated at the same time;
' + if "$AssistFlags" contains a "P" the checkbox is unmarked;
' + if "$Flags" contains a "V" the design note is marked as being
' + PRIVATE;
' +
' + USE THIS AGENT AT YOUR OWN RISK ! Be sure to make a
' + backup copy of the agent before manipulating it !!
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dim sn As New NotesSession
Dim thisdb As NotesDatabase
Dim coll As NotesDocumentCollection
Dim doc As NotesDocument
Dim agnt As NotesAgent
Dim strTitle As String
Dim strFlag As String
Dim strL As String
Dim strR As String
Dim strNID As String
Dim intSuccess As Integer
Dim intPos As Integer
Dim lngCnt As Long

intSuccess = False ' preset the SUCCESS flag
Set thisdb = sn.CurrentDatabase
strTitle = Ucase(Inputbox("Enter the agent's title: ", "CHANGE AGENT FLAGS"))
' looping Note IDs 0001 to FFFF
For lngCnt = 1 To 65535
strNID = Hex (lngCnt)
Set doc = thisdb.GetDocumentByID (strNID)
' is there a document with this Note ID ?
If Not doc Is Nothing Then
' if doc has an item by this name it must be an agent's design note
If doc.HasItem ("$AssistFlags") Then
' does the design note belong to our agent ?
If Ucase(doc.GetItemValue("$TITLE") (0)) = strTitle Then
' a "P" in the $AssistFlags string unchecks the "SHARED" checkbox in the agent designer
strFlag = doc.GetItemValue("$AssistFlags") (0)
intPos = Instr(strFlag, "P")
strL = Left(strFlag, intPos - 1)
strR = Mid(strFlag, intPos + 1)
Call doc.ReplaceItemValue("$AssistFlags", strL & strR)
' a "V" in the $Flags string marks the agent as being PRIVATE
strFlag = doc.GetItemValue("$Flags") (0)
intPos = Instr(strFlag, "V")
strL = Left(strFlag, intPos - 1)
strR = Mid(strFlag, intPos + 1)
Call doc.ReplaceItemValue("$Flags", strL & strR)
Call doc.Save (True, True)
' set the SUCCESS flag for a final message
intSuccess = True
Exit For ' no further looping necessary
End If ' UCASE($TITLE)...
End If ' HasItem($AssistFlags)
End If ' not doc is nothing
Next
If intSuccess Then
Msgbox "The agent " & strTitle & " is now marked as 'Shared'. " &_
"The change will be visible after closing and re-opening the database", _
64, "AGENT FLAGS CHANGED"
Else
Msgbox "An agent named " & strTitle & " could not be found", 64, "AGENT FLAGS NOT CHANGED"
End If
End Sub

=======================================
Agent 2: going from SHARED to PRIVATE:
=======================================
Sub Initialize
' + Agent "Change Agent to PRIVATE"
' + sub Initialize
' + This agent changes another agent within the same database
' + from SHARED to PRIVATE;
' + Since there is no other way (at least none that I know of) it loops
' + through all possible Note IDs from 0x0001 to 0xFFFF; if the agent
' + isn't found within this range and misspelling can be excluded as a
' + reason the range has to be extended (resulting in longer
' + processing time !).
' + Once the agent to be changed is found the design note fields
' + "$AssistFlags" and "$Flags" are manipulated:
' + the first field controls the "Shared Agent" checkbox, the other is
' + a combination of various design note properties; both have to be
' + manipulated at the same time;
' + if "$AssistFlags" contains a "P" the checkbox is unmarked;
' + if "$Flags" contains a "V" the design note is marked as being
' + PRIVATE;
' + the person performing this manipulation wil be the new owner of
' + the now private agent
' +
' + USE THIS AGENT AT YOUR OWN RISK ! Be sure to make a
' + backup copy of the agent before manipulating it !!
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dim sn As New NotesSession
Dim thisdb As NotesDatabase
Dim coll As NotesDocumentCollection
Dim doc As NotesDocument
Dim agnt As NotesAgent
Dim strTitle As String
Dim strFlag As String
Dim strL As String
Dim strR As String
Dim strNID As String
Dim intSuccess As Integer
Dim intPos As Integer
Dim lngCnt As Long

intSuccess = False ' preset the SUCCESS flag
Set thisdb = sn.CurrentDatabase
strTitle = Ucase(Inputbox("Enter the agent's title: ", "CHANGE AGENT FLAGS"))
' looping Note IDs 0001 to FFFF
For lngCnt = 1 To 65535
strNID = Hex (lngCnt)
Set doc = thisdb.GetDocumentByID (strNID)
' is there a document with this Note ID ?
If Not doc Is Nothing Then
' if doc has an item "$AssistFlags" it must be an agent's design note
If doc.HasItem ("$AssistFlags") Then
' does the design note belong to our agent ?
If Ucase(doc.GetItemValue("$TITLE") (0)) = strTitle Then
' a "P" in the $AssistFlags string unchecks the "SHARED" checkbox in the agent designer
strFlag = doc.GetItemValue("$AssistFlags") (0) & "P"
Call doc.ReplaceItemValue("$AssistFlags", strFlag)
' a "V" in the $Flags string marks the agent as being PRIVATE;
' the person running this agent will become its owner
strFlag = doc.GetItemValue("$Flags") (0)
intPos = Instr(strFlag, "f")
strL = Left(strFlag, intPos)
strR = Mid(strFlag, intPos + 1)
Call doc.ReplaceItemValue("$Flags", strL & "V" & strR)
Call doc.Save (True, True)
' set the SUCCESS flag for a final message
intSuccess = True
Exit For ' no further looping necessary
End If ' UCASE($TITLE)...
End If ' HasItem($AssistFlags)
End If ' not doc is nothing
Next
If intSuccess Then
Msgbox "The agent " & strTitle & " is now marked as 'PRIVATE'. " &_
"The change will be visible after closing and re-opening the database", _
64, "AGENT FLAGS CHANGED"
Else
Msgbox "An agent named " & strTitle & " could not be found", 64, "AGENT FLAGS NOT CHANGED"
End If
End Sub

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:view von private auf shared
« Antwort #4 am: 18.07.03 - 16:10:49 »
... das hört sich nach was brauchbarem an - ich werde da mal mit den Views rumprobieren -

... allen ein schönes Wochenende...

ata  ;D ;D ;D
Grüßle Toni :)

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:view von private auf shared
« Antwort #5 am: 18.07.03 - 19:50:23 »
Andererseits wäre es ein nettes Projekt für "lange Winterabende"

tja Bernhard alles ist möglich es ist nur eine Frage der Zeit oder des Geldes  ;D

Berhard das wäre doch eine super Aufgabe für den Winter oder wie sieht's da aus bei dir zwischen den Jahren ?  8)

Warum soll sich einer der Profis die Wintrerabende mit solchem Schnickschnack kaputt machen ? Aber da wäre ja noch der Profi Ata der das machen könnte..... gelle ata???  :o ;D :D


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:view von private auf shared
« Antwort #6 am: 18.07.03 - 20:10:37 »
Genau - es ist was für lange Winterabende, und wer weiß, was man aus der DBDesignClass noch alles machen kann.
Und bei uns dauert der Winter immer etwas länger ... Wenn's draussen wieder 'n halben Meter von dem weissen Zeugs hingeworfen hat, ist es doch eine nette Ausrede "Ich muss dringend noch ein paar Agents / Views oder so verbiegen und kann jetzt nicht Schneeschippen" ;-)

Und dann bieten wir mit dem Teil unsere Leistungen an: "Ooops, Du hast zwei Wochen lang einen Agent gebastelt mit vielen Subs & Functions, oder 'ne Ansicht mit vielen Spalten - und dummerweise als private geflaggt ? Schick' uns das Teil und vor allem 'nen K20, und wir beheben das in zwei Minuten ..." ;-))

Und EIN Winterabend wird wohl ausreichen ;-)

Ciao,
Bernhard

Offline zeeboo

  • Frischling
  • *
  • Beiträge: 49
  • Ich liebe dieses Forum!
Re:view von private auf shared
« Antwort #7 am: 21.07.03 - 07:06:11 »
danke sag ich mal  :)

zeeboo

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:view von private auf shared
« Antwort #8 am: 21.07.03 - 20:55:13 »
... bevor der Winter also anbricht

- erzeuge eine neue View anhand der bestehenden privaten Ansicht (Kopien von). Wenn du der neuen Ansicht die Eigenschaft "Gemeinsam" verpasst, hast du die Ansicht. Die alte Private wird gelöscht - und User, die bereits eine private hatten sollten diese ebenfalls löschen - auf dem Server kannst du das, aber wenn sie lokal liegen hast du keinen direkten zugriff...

ata
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:view von private auf shared
« Antwort #9 am: 21.07.03 - 21:57:57 »
ata, so kriegen wir unsere K20 nie !!!

Da Du nun aber das grosse Geheimnis verraten hast (was uns aber leider bei Agents nix nützt - wenigstens da können wir noch auf ein par K20 spannen ;-)  bleibt immer noch das eventuelle Problem, daß sich private view und (neue) common view beissen. Da könnte dann unser "lange-Winterabende-Agent" helfen.
Oder für das ggf. (!) mögliche Eigentor "private on first use" - auch dafür sollten wir "Lange-Winterabend"-Prgrammierer ja bereits den passenden Coe in der Schublade haben.
Aber nicht gleich posten - Eigentore kosten 'nen K20 ;-))

Ciao,
Bernhard

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:view von private auf shared
« Antwort #10 am: 22.07.03 - 08:01:47 »
@koehlerbv

... kann sein ich steh noch auf der Leitung - was ist K20?  ???

... wenn die privaten Views lokal liegen hast du auf jeden Fall was "bissiges"...

ata
Grüßle Toni :)

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:view von private auf shared
« Antwort #11 am: 22.07.03 - 08:10:11 »
mein erster Tip: K20 = Kiste Bier
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:view von private auf shared
« Antwort #12 am: 22.07.03 - 08:12:00 »
... könnte durchaus sein - in schwäbisch nennt man das dann ein "Gädderle"...

ata  ;D ;D ;D
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:view von private auf shared
« Antwort #13 am: 22.07.03 - 14:04:34 »
Bei uns heißt es eigentlich auch "Tragerl" ;-)
Und Potsmoker kann sich jetzt ein Freibier kaufen ;-))

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:view von private auf shared
« Antwort #14 am: 23.07.03 - 14:34:54 »
Bei uns heißt es eigentlich auch "Tragerl" ;-)
Und Potsmoker kann sich jetzt ein Freibier kaufen ;-))

hab ich schon längst.

in Franken (auch: Frangn) heißt das übrigens "Kastn" oder "Kistn"
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz