Gestern. Heute. Morgen. Mit Lotus Notes und der GFI in die mobile Zukunft.
Alle Daten auf allen Endgeräten aktuell zu Ihrer Verfügung – www.gfi.net.
Mehr Informationen zur Konferenz
Gestern. Heute. Morgen. Mit Lotus Notes und der GFI in die mobile Zukunft.
Alle Daten auf allen Endgeräten aktuell zu Ihrer Verfügung – www.gfi.net.
Mehr Informationen zur Konferenz
Wo macht die IBM den Job besser als die direkte Konkurrenz durch Microsoft & Google? Wo gibts Verbesserungspotential bzw. Lösungen durch Drittanbieter. Welche Lösung hat den besten ROI?
Lohnt sich das Engagement von Firmen oder Behörden auf den gängigen öffentlichen SocialMedia Plattformen wie facebook, twitter, google+ oder der Betrieb eines Blogs? Kann man den Betriebsaufwand (und Arbeitsaufwand der beteiligten Personen) einer firmeninternen Plattform wie Connections oder einem anderen Microblogging-Dienst auch harte wirtschaftliche Vorteile/Fakten gegenüberstellen?
Wichtig zu einer Ermittlung solcher groben Wirtschaftlichkeitsbetrachtungen wären belastbare Kennzahlen.
Welche Kennzahlen gibt es? Wie werden diese ermittelt? Wie kann man diese bewerten und ggf. in "bare Münze" umsetzen.
Hilfestellungen und Muster würden sicherlich SocialMedia-Protagonisten in den Firmen und Behörden das "Standing" erleichtern, wenn von Bedenkenträgern Projekte gestoppt oder eingeschränkt werden, die meist noch gar nicht richtig ins Rollen gekommen sind.
In dieser Barcamp-Session würde es also eher um ein Brainstorming gehen, welche Kennzahlen (für die unterschiedlichen Systeme) generell denkbar sind und wie diese verifiziert ermittelt werden können.
Wie kommt man zu einer "Firmenphilosophie"?
Was sollten generelle Richtlinien zum Einsatz von mobilen Techniken regeln / regeln können?
Ist eine Überregulierung bzw. restriktive Handhabung von mobilen Endgeräten sinnvoll, sicherheitstechnisch notwendig oder kontraproduktiv?
Dürfen private Geräte eingebracht werden? Falls ja: Werden diese genau so angebunden wie firmen-/behördeneigene Geräte? Wenn ja: Blacklisting oder Whitelisting von Gerätetypen?
Was sind steuerrechtliche Randbedingungen bei der Bereitstellung von Geräten (dienstlich = geltwerter Vorteil? privat = Bezuschussungsmöglichkeiten des Arbeitgebers? etc)
Was sind Kennzahlen, die einen Einsatz eines MDM (Mobile Device Management) Tools notwendig machen? Anzahl Geräte? besondere Sicherheitsanforderungen?
Oft steigen Firmen und Behörden "mal schnell" mit mobilen Endgeräten ein und haben später beim Ausbau Probleme oder werden vor sicherheitstechnische Probleme gestellt. Wie macht man es richtig, wer hat gute Erfahrungen gemacht oder welche Rahmenbedingungen welche Maßnahmen erforderlich machen kann m.E. sehr gut in einem locker moderierten Barcamp diskutiert werden. Hier können dann auch praxisnahe Erfahrungen kurz und knapp ausgetauscht werden und vielleicht entwickeln sich hierdurch Austauschforen /-kontakte im Anschluss.
das Thema Mobilität wird beim aktiven Wissensaustausch der Mitarbeiter untereinander, mit Kunden und Lieferanten immer wichtiger. Dieser Tatsache folgend widmet die IBM diesem Thema eine eigene Veranstaltung:
IBM Mobility Tag, 20. Juni 2012 im BMW Group Classic in München
Melden Sie sich am besten gleich an – denn dieses strategisch ausgerichtete Event sollten Sie sich wirklich nicht entgehen lassen. Freuen Sie sich auf einen halben Tag mit einem Referenzvortrag und dem Neuesten aus dem IBM Forschungs- und Entwicklungszentrum Böblingen. Darüber hinaus wird Ihnen Ivo Körner, Vice President IBM Software Group, einen Gesamtüberblick über Mobility geben und Prof. Dr. Martin Welsch, Chief Technology Advisor, spricht zum Thema 'Mobil, sozial, Portal – will ich das und wenn ja, warum?'.
Im Anschluss an die Veranstaltung erhalten Sie eine exklusive Führung durch das BMW Museum und haben beim gemeinsamen Abendessen die Möglichkeit zum
Gedankenaustausch.
. IBM Sametime 8.5.x multipoint HD Videokonferenzen
. Verbindungen zu Raum Videokonferenzsystemen (Polycom, Cisco/Tandberg, LifeSize usw.)
. VideoMeet Verbindungen zu Skype, MS Lync und Google
Mehr Informationen zur Konferenz
Als Antwort auf: Jailbreak Detection
Ich ergänze mal: Dass man - wenn man etwas mehr und umfassender arbeiten möchte - ein MDM gut gebrauchen kann (wir sind auf dem Sprung zu Airwatch, (MobileIron ist uns im Bereich Mandantenfähigkeit nicht gut genug ausgerichtet und Good ist einfach viel zu restriktiv....) steht mal ausser Frage.Yesterday I read the very interessting question from Daniele Grillo at stackoverflow.com: Is a datasource available for XPages who can access the underlying document with different access levels?
I have never seen one before, so I decided to do some tests and tried to find a workaround / hack for this problem. But after a while and a some lines of coding, I was unable to get a solution, so I decided to create a new datasource: A datasource which can access the documents in the backend with different access levels: sessionAsSigner and sessionAsSignerWithFullAccess.
The datasource is still in beta version, there are some limitations because I have implemented the basic functionallity only. It must be added programmatically, I have no ambitions to create a design element of it, but perhaps I will create a XSnippet.
To use this datasource, you can add it to a XPage and control it via URL parameters.
XPage.xsp?documentId=<DocUNID>
XPage.xsp?documentId=<DocUNID>&access=sessionAsSigner
XPage.xsp?documentId=<DocUNID>&access=sessionAsSignerWithFullAccess
To use this datasource in your XPage, you have to add some SSJS code:
<xp:this.beforePageLoad>
<![CDATA[#{javascript:
importPackage(ch.hasselba.xpages.jsf.core);
var ds = new
ch.hasselba.xpages.jsf.core.AccessDocDataSource();
ds.setVar( "document1" );
ds.setConcurrencyMode( "force" );
view.addData(ds);
}]]>
</xp:this.beforePageLoad>
[You can change the name of the datasource (marked red) to fit your requirements.]
The datasource can be used like a normal document datasource:
<xp:inputText id="inputText1" value="#{document1.Test}" />
To save the document you have to call the save method directly (The default actions are currently not working. Maybe because the actions check the object type. I am trying to figure this out):
<xp:button value="Save" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action>
<![CDATA[#{javascript:document1.save()}]]>
</xp:this.action>
</xp:eventHandler>
</xp:button>
Here is the Java code:
package ch.hasselba.xpages.jsf.core; import com.ibm.xsp.FacesExceptionEx; import com.ibm.xsp.model.AbstractDocumentDataSource; import com.ibm.xsp.model.DocDataSource; import com.ibm.xsp.model.DocumentDataContainer; import com.ibm.xsp.model.domino.wrapped.DominoDocument; import javax.faces.context.FacesContext; import javax.faces.el.ValueBinding; import lotus.domino.Document; import lotus.domino.NotesException; import lotus.domino.Session; import java.util.Map; public class AccessDocDataSource extends AbstractDocumentDataSource implements DocDataSource { private final static String DEFAULT_CONCURRENCYMODE = "force"; private final static String CONCURRENCYMODE = "concurrencyMode"; private final static String ACTION = "action"; private final static String ACCESS = "access"; private final static String DOCUMENTID = "documentId"; private final static String CONST_SESSION = "session"; private final static String CONST_SESSIONASSIGNER = "sessionAsSigner"; private final static String CONST_SESSIONASSIGNERFULLACCESS = "sessionAsSignerWithFullAccess"; private final static String MSG_DOCSAVE_FAILED = "doSaveDocument failed!"; private String _docId; private String _action; private String _concurrencyMode; private String _access; private DominoDocument _doc; private static boolean isStrEmpty(final String str) { if (str == null) return true; if (str.length() == 0) return true; return false; } private static Object getVariableValue(String varName) { FacesContext context = FacesContext.getCurrentInstance(); return context.getApplication().getVariableResolver().resolveVariable( context, varName); } @Override public void readRequestParams(FacesContext paramFacesContext, Map<String, Object> pMap) { String tmpStr = (String) pMap.get(prefixRequestParam(DOCUMENTID)); if (!isStrEmpty(tmpStr)) this._docId = tmpStr; tmpStr = (String) pMap.get(prefixRequestParam(ACTION)); if (!isStrEmpty(tmpStr)) this._action = tmpStr; tmpStr = (String) pMap.get(prefixRequestParam(ACCESS)); if (!isStrEmpty(tmpStr)) this._access = tmpStr; } @Override public Object getDataObject() { return this._doc; } @Override public boolean isReadonly() { DominoDocument doc = getDocument(); if (doc == null) return true; return isReadOnly( doc ); } @Override public boolean isReadOnly(Object paramObject) { return !((DominoDocument) paramObject).isEditable(); } @SuppressWarnings("deprecation") public DominoDocument getDocument() { Document d = null; DominoDocument doc = null; if (this._doc != null) return this._doc; try { Session s = (Session) getVariableValue(getAccess()); d = s.getCurrentDatabase().getDocumentByUNID(getDocumentId()); doc = com.ibm.xsp.model.domino.wrapped.DominoDocument.wrap(d .getParentDatabase().getFilePath(), d, null, getConcurrencyMode(), false, null); this._doc = doc; } catch (Exception e) { e.printStackTrace(); } return doc; } public String getConcurrencyMode() { if (this._concurrencyMode != null) { return this._concurrencyMode; } ValueBinding vb = getValueBinding(CONCURRENCYMODE); if (vb != null) { return (String) vb.getValue(FacesContext.getCurrentInstance()); } return DEFAULT_CONCURRENCYMODE; } public void setConcurrencyMode(String pString) { this._concurrencyMode = pString; } public String getDocumentId() { if (this._docId != null) { return this._docId; } ValueBinding vb = getValueBinding(DOCUMENTID); if (vb != null) { return (String) vb.getValue(FacesContext.getCurrentInstance()); } return null; } public void setDocumentId(String pString) { this._docId = pString; } public String getAccess(){ if (this._access != null) { return this._access; } ValueBinding vb = getValueBinding(ACCESS); if (vb != null) { return (String) vb.getValue(FacesContext.getCurrentInstance()); } return null; } public void setAccess( String pString ){ if( isStrEmpty( pString ) ){ this._access = CONST_SESSION; return; } if( pString.equals( CONST_SESSIONASSIGNER ) ){ this._access = CONST_SESSIONASSIGNER; return; } if( pString.equals( CONST_SESSIONASSIGNERFULLACCESS ) ){ this._access = CONST_SESSIONASSIGNERFULLACCESS ; return; } this._access = CONST_SESSION; } @Override public boolean doSaveDocument(FacesContext paramFacesContext, Object paramObject) throws FacesExceptionEx { try { return ((DominoDocument) paramObject).save(); } catch (NotesException ne) { ne.printStackTrace(); } throw new FacesExceptionEx( MSG_DOCSAVE_FAILED , null); } @Override public Object saveState(FacesContext paramFacesContext) { Object[] objArr = new Object[5]; objArr[0] = super.saveState(paramFacesContext); objArr[1] = this._docId; objArr[2] = this._concurrencyMode; objArr[3] = this._action; objArr[4] = this._access; return objArr; } @Override public void restoreState(FacesContext paramFacesContext, Object paramObject) { Object[] objArr = (Object[]) paramObject; super.restoreState(paramFacesContext, objArr[0]); this._docId = ((String) objArr[1]); this._concurrencyMode = ((String) objArr[2]); this._action = ((String) objArr[3]); this._access = ((String) objArr[4]); } @Override public DocumentDataContainer doNewDocument(FacesContext paramFacesContext) throws FacesExceptionEx { // TODO Auto-generated method stub return null; } @Override public DocumentDataContainer doOpenDocument(FacesContext paramFacesContext) throws FacesExceptionEx { // TODO Auto-generated method stub return null; } public boolean isNewDocument(FacesContext paramFacesContext) { // TODO Auto-generated method stub return false; } @Override public void doComputeDocument(FacesContext paramFacesContext, Object paramObject) throws FacesExceptionEx { // TODO Auto-generated method stub } @Override public void doDeleteDocument(FacesContext paramFacesContext, Object paramObject) throws FacesExceptionEx { // TODO Auto-generated method stub } @Override protected String composeUniqueId() { // TODO Auto-generated method stub return null; } public boolean isDocument(Object paramObject) { // TODO Auto-generated method stub return false; } }
… plus be in to WIN an iPhone 4S! Crossware Mail Signature centralises the management of compliant, personalised and attractive email signatures to emails compatible with Notes, iNotes, Traveler, and Blackberry - www.crossware.co.nz
Auf der 36. DNUG Konferenz in Dortmund zeigt Ihnen die conats GmbH wie Archivierung ganz entspannt ablaufen kann. Kommen Sie auf ein „brutzelndes“ Gespräch an unseren Stand vorbei und erfahren Sie alle Einzelheiten. conats Archive – zertifiziert und revisionssicher. http://www.conats.com.
Vor etwa 9 Monaten haben wir PlanetNTF ins Leben gerufen, eine Plattform, die deutschsprachige Informationen zum Thema IBM und Lotus zusammenträgt und gesammelt bereitstellt.
Begonnen haben wir mit ca. 10 Blogs, die eingesammelt wurden und gerade einmal 2 Followern auf twitter. Diese waren wir selbst
Heute sammeln wir bereits 27 Blogs ein und freuen uns über 47 Follower, die PlanetNTF regelmäßig besuchen und lesen. Euch allen sei gesagt: Herzlichen Dank!
Trotzdem möchten wir PlanetNTF weiter voranbringen und bitten Euch alle um Hinweise auf interessante Quellen, die Ihr zukünftig auch durch PlanetNTF eingesammelt haben möchtet. Oder habt Ihr einen eigenen Blog, der über PlanetNTF verbreitet werden soll? Dann immer her damit!
Wer mag und zufrieden ist, der darf PlanetNTF auch gerne über Twitter, Facebook, Google+, EMail, … weiterempfehlen. Wir freuen uns über jeden weiteren Leser und Follower auf twitter.
Beste Grüße
Lars und Henning
Nachdem bei uns (IT-Dienstleister) und unserern betreuten Anwendern (Kommunen) immer mehr iOS Geräte im Einsatz sind, soll auch ein MDM beschafft / installiert werden. Eines der kritischen Punkte ist die Jailbreak Detection.
Gibt es eine Möglichkeit die Jailbreak Detection nur mit dem Traveler umzusetzen? Oder einen einfachen Aufsatz auf den Traveler, der das löst?
Vermutlich wird das auch bei uns zwar nur eine Übergangslösung sein, aber im Moment wäre das einmal eine aus datenschutzsicht sinnvolle Erweiterung.