Josef Voda | Uložení dokumentu z WWW |
| Zdravím, nevíte někdo, jak přímo uložit přílohu z URL. Myslím něco ve tvaru "http://mujserver/db/pohled/dokument/$file/priloha? parametr k uložení".
Asi je tohle řešení blbost, ale uživatelé to mě chtějí. Mačkat pravé tlačítko na myši a dát uložit cíl je prej zdlouhavý.
Dík. Pepik |
Michal P | no to asi nepujde |
29.05.2008 14:49:22
ID: 2650.1
| Ja myslim, ze tohle asi nepujde. Neslo by to udelat pres agenta ? Zalezi jestli uz mate prilohu vlozenou do dokumentu, nebo jestli mate pouze odkaz. V prvnim pripade by mela byt priloha dostupna pres LotusScript, jestli je to druhy pripad, asi by to slo udelat pres Javu,ale to nevim jak pac Javu neumim, jinak kdyz dokument ulozite, tak priloha bude taky dostupna pres LotusScript. Ten napad s url si myslim, ze bohuzel nepujde. |
Josef Voda | Přílohu mám v dokumentu |
IT
30.05.2008 08:04:11
ID: 2650.2
| ID: 2650.1 Přes LotusScript mě to napadlo, ale moc v něm neumím, tak ani nevím jak. Napadlo mě něco. jako EmbdedObject, ale asi to nebude ono. Přílohu mám vloženou v dokumentu. Agent by se měl spustit při skliknutí na tlačítko, pro uložení. Aspoň, myslím, že by to tak mělo být. |
Analytik | Jo to by melo fachat |
30.05.2008 08:53:11
ID: 2650.3
| ale neny to vec na 5 minut. Tak dva dny. Ale melo by to jit.
|
Michal P | co je tedy potreba |
30.05.2008 10:34:48
ID: 2650.4
| Trochu jsem se ztratil ve vasem textu. Co je tedy potreba ? Kdyz ulozite dokument, ulozi se i priloha do toho dokumentu. Chcete potom prilohu ulozit nekam jinam ? |
Josef Voda | Uložit přílohu |
IT
30.05.2008 11:00:03
ID: 2650.5
| Příloha je uložená v dokumentu. DB je přístupná přes WWW, ale uživatelé mají zpřístupěný jen odkazy v pohledu bez možnosti ho otevřít. Potřebují stáhnout přílohu na svůj HDD.V pohledu je u každého názvu dokumentu v dalším sloupci tlačítko. Po kliknutí na něj potřebuju, aby se vyvalalo okno s možností přílohu z danýho dokumentu uložit na disk uživatele. Celý je to přístupný přes WWW. Dík |
Michal P | no to by mozna slo takhle ne ? |
30.05.2008 11:22:52
ID: 2650.6
| No tak do toho buttonu pouzijte tohle ne ?:
Using OpenElement with attachments Syntax link1 Example http:/ /www.mercury.com/lproducts.nsf/By+Part+Number/SN156 /$File/spec.txt?OpenElement Note If more than one attached file has the same name, the URL includes both the "internal" file name as well as the external name. Since the internal file name is not easily determined, make sure all attached files have unique names. Because some browsers require that the URL end with the attached file name, Domino treats all file attachment OpenElement commands as implicit commands. For example: link2
|
Michal P | je to v helpu |
30.05.2008 11:23:32
ID: 2650.7
| je to v helpu |
Josef Voda | V helpu to je |
IT
30.05.2008 11:57:27
ID: 2650.8
| Toto jsem už zkoušel, ale bohužel to přílohy rovnou otvírá a nevyhodí to nabídku k uložení. Ale dík za snahu |
Michal P | nastaveni prohlizece |
30.05.2008 12:56:12
ID: 2650.9
| Sorry, celou dobu jsem Vam nerozumel, no tohle se podle me nastavuje v prohlizeci, protoze nornalni stahovani prilohy vypada treba link1 . Mozna bych to tedy zkusil bez toho ?OpenElement, jestli to nepujde, ale jinak bych rekl, ze se to nastavuje v prohlizeci (zadny html to neovlivnuje myslim). |
Martin Humpolec | Re: Uložení dokumentu z WWW |
30.05.2008 14:50:20
ID: 2650.10
| Tam jedině zkusit nastavit správně http hlavičky (což se bude dělat spíš v konfiguraci serveru než v kódu odkazu), vím že existuje nějaká, která vynutí ten dialog na uložení. |
Ondřej Fuxa | Re: Uložení dokumentu z WWW |
01.06.2008 22:14:58
ID: 2650.11
| Pokud uzivatele uzivaji IE, tak je dulezite si dat bacha na jeho nastaveni! IE uziva nastaveni z "Možnosti složky", kde je záložka pro různé soubory dle přípony...tam se pak dá ovlivnit, zda to má IE rovnou otevřít anebo se poptat...toto je ale závislé na verzi IE apod...takže možná se jen podívat a zkusit to změnit. Myslím, že to byla volba "Browse in same window" ci neco takoveho...zaskrtnuto znamena, ze danou priponu IE rovnou otevre v okne, kde je uzivatel... |
Josef Voda | Uložení dokumentu z WWW |
IT
02.06.2008 09:34:49
ID: 2650.12
| Dík za tipy všem. kamarád má něco podobnýho v PHP a data jsou v SQL databázi a funguje mu to. PHP má na grnrrování hlaviček vestavěnou funkci, ale jak je to Notesech nevím. Nechce se mi babrat s PHP nebo to kombinovan s LN. Přes hlavičky by to mělo jít. Koukal jsem na openntf.org a tam to mají řešený přes agenta. Zkouším, aby mi agent z hlaviček vygeroval dialog ke stažení, ale nejde to. Místo toho Notesy vygenrují stránku "Agent Done". S hlavičkama zkušenosti nemám. |
Analytik | Kousky koodu |
03.06.2008 08:55:42
ID: 2650.13
| Sub CreateResponseHeader Print |Content-Type:text/xml| Print |Cache-Control: no-cache| REM Print |Cache-Control: private| REM Print |Cache-Control: public| REM expire = Evaluate(|@Adjust(@Now([ServerTime]);0;0;1;0;0;0)|) REM Print |Expires:| & expire(0) Print || REM Print |<?xml version="1.0" encoding="windows-1251"?>| REM Print |<?xml version="1.0" encoding="UTF-8"?>| Print |<Data>| End Sub ... Else While Not entry Is Nothing If entry.ColumnValues(1) Like Key Then text1 = text1 & NodeIsNull(entry.ColumnValues(2)) & "','" text2 = text2 & NodeIsNull(entry.ColumnValues(1)) & "','" n = n + 1 End If Set entry = nav.getnextdocument( entry ) Wend text1 = Trim(text1) text2 = Trim(text2) REM Print |<Extra>| 'Print |<Cod>{MyCode: [| & Left(text1, Len(text1)-2) & |]}</Cod>| 'Print |<Name>{MyName: [| & Left(text2, Len(text2)-2) & |]}</Name>| Print |<Level5>{ "isActive": "true", "Status": "OK", "CountKey": | & n & |, "CountAll": | & nav.Count & |, "ID": "ULI", "Code": [| & Left(text1, Len(text1)-2) & |], "Name": [| & Left(text2, Len(text2)-2) & |], "Zip": "| & ZIP & |", "Socr": "| & Socr & |"}</Level5>| Delete nav text1 = "" text2 = "" End If .... v první části si nastavuju parametry response. A potom Printem printím přímo do výstupu?
Je někde problém? Právě přes nastavení www serveri v internet dokumentech a v zapojení agenta do práce bych to viděl jako schůdné. Leč jsem se v tom dlouho nerýpal. Tak mne neukamenujte.
Díkas za dotaz
|
Josef Voda | Kousky koodu |
IT
03.06.2008 09:58:16
ID: 2650.14
| Koukal jsem na to, ale popravdě z toho moc moudrej nejsem. Přesto díky |
Analytik | Aha |
03.06.2008 21:09:20
ID: 2650.15
| Tak to je na delší řeč. Sub má (byť za REM ovány ) parametry hlavičky. Vše co je dále v ukázce, je tvorba výstupu - zde JSON objekt. Ale můžeš tak naorintit třeba celé HTM jedné stránky.
Poku OK, můžeme pokračovat příště. Zdar. |
Josef voda | Kousky koodu |
IT
03.06.2008 22:36:01
ID: 2650.16
| Dík. Zkouším to přelouskat, ale bude to asi na pořádně dlouho. Sice v LS trochu dělám, ale dost jednoduchý věci. Jsem síťař a tohle mám k tomu navíc. Přes @funkce to asi nepůjde, tak mi nezbyde nic jinýho než LS :-) |
Analytik | Ahoj, zkusíme to nějak skloubit. |
04.06.2008 07:36:43
ID: 2650.17
| Já sedím btto. 2000 - 2500 km daleko a není to jednoduché zdvihnout zadek a nebo strčit "hubu" do skajpu. :). Někdy se mi už plete klávesnice a ač mám transliteraci na ru/cz klávesnici, no je to děs. Takže. Zkusím se na to podívat co a jak a dát nějaký pošťouchnutí, co Tě trochu trklo. Takže první rada. Vše co PRINT - uješ v LS web agentovi považuj za standardní výstup přímo do tvého webového koukátka (browseru :) ). Doporučuji si pohrát s parametry hlavičky a jednoduchého kódu na zobrazení stránky typu - "Hello World". Až tohlecto zvládeš, bude lépe. Ozvi se a nezapomeň na HELP jediného a správného Designera - Ten od Lotusu. Ahoj všem. |
Josef Voda | Čau, dík za pomoc |
IT
04.06.2008 14:34:44
ID: 2650.18
| To jsi dobrej, hádám jsi někde v Moskvě. Koukám na kousky scriptu co jsi uváděl a vždy jsem myslel, že řetězec se dává do uvozovek a ne "|". Ale koukám, že to funguje taky. Budu si zkoušet Hello world.
Zatím se měj a čau |
Martin Humpolec | Re: Uložení dokumentu z WWW |
04.06.2008 17:14:28
ID: 2650.19
| Většinou fungují uvozovky, | i {} - výhodou těch dvou posledních je, že do nich přímo můžeš dávat nové řádky i uvozovky a máš to bez starostí. |
Josef Voda | Uložení dokumentu z WWW |
IT
10.06.2008 10:15:50
ID: 2650.20
| Díky. Zkouším pomalu něco psát v LS, ale moc mi to nejde. Dají se vůbec z URL předat nějak parametry agentovi pomocí "QUERY_STRING" nebo něčeho podobnýho?
|
Martin Humpolec | Re: Uložení dokumentu z WWW |
10.06.2008 13:42:00
ID: 2650.21
| No jasně že dají :-) použij NotesSession.DocumentContext.Query_String(0) a máš to.
jinak wiki pro vývoj na webu - link1 |
Analytik | Ahoj, mrkni na tohleto |
11.06.2008 07:28:44
ID: 2650.22
| Sub Initialize On Error Goto processError Set session = New NotesSession Set qdoc = session.DocumentContext 'Decode the query string by calling our routine Call subExplodeQueryString(qdoc.query_string_Decoded(0), lstQueryString) ' SumParentID SumParentID = lstQueryString("SumParentID") LenParentID = Len(Trim(SumParentID)) ' Key queryDecode = Evaluate( |@URLDecode("Domino"; "| & Strright(qdoc.query_string(0), "Key=") & |")| ) Key = Trim(queryDecode(0)) 'Create response header Call CreateResponseHeader 'Analyze request Select Case LenParentID Case 1 table = "AJAXHTMLSearchRegions" REM Call DecodeStandard Call DecodeJSON_Level1to4( "Level1", "true") SumParentID = Trim(SumParentID) + "000" table = "AJAXHTMLSearchRaions" Call DecodeJSON_Level1to4( "Level2", "false") SumParentID = Trim(SumParentID) + "000" table = "AJAXHTMLSearchGorods" Call DecodeJSON_Level1to4( "Level3", "false") SumParentID = Trim(SumParentID) + "000" table = "AJAXHTMLSearchNasPunktov" Call DecodeJSON_Level1to4( "Level4", "false") Case 2 table = "AJAXHTMLSearchRaions" Call DecodeJSON_Level1to4( "Level2", "true") SumParentID = Trim(SumParentID) + "000" table = "AJAXHTMLSearchGorods" Call DecodeJSON_Level1to4( "Level3", "false") SumParentID = Trim(SumParentID) + "000" table = "AJAXHTMLSearchNasPunktov" Call DecodeJSON_Level1to4( "Level4", "false") REM DecodeStandard Case 5 table = "AJAXHTMLSearchGorods" Call DecodeJSON_Level1to4( "Level3", "true") SumParentID = Trim(SumParentID) + "000" table = "AJAXHTMLSearchNasPunktov" Call DecodeJSON_Level1to4( "Level4", "false") REM DecodeStandard Case 8 table = "AJAXHTMLSearchNasPunktov" REM DecodeStandard Call DecodeJSON_Level1to4( "Level4", "true") Case 11 table = "AutocompleteSearch" If (Key="**") Or (key = "") Then Key= "*" Else Key = Strconv( Key, 3) & "*" End If Call DecodeJSON_Level5 Case Else : Goto ErrorLenParentID End Select REM Goto processerror Print |<Status>OK</Status>| Print |</Data>| Exit Sub processError: Print |<Status>Error</Status>| Print |<Error>Error number = | & Error & | on line: | & Erl & |</Error>| Print |<DbTitle>DB name = | & db.Title & |</DbTitle>| Print |<Table>in table = | & table & |</Table>| Print |<Key>with key = | & SumParentID & |</Key>| Print |<Search>with key = | & Key & |</Search>| Print |</Data>| Exit Sub ErrorLenParentID: Print |<Status>Error</Status>| Print |<Error>Ошибка приложения № 10: не правильная длина параметра "Cod".</Error>| Print |<Key>SumParentID = | & SumParentID & |</Key>| Print |<Search>Key = | & Key & |</Search>| Print |</Data>| Exit Sub End Sub |
Josef Voda | Uložení dokumentu z WWW |
IT
11.06.2008 13:17:27
ID: 2650.23
| Zdravím, z tohohle NotesSession.DocumentContext.Query_String(0) mi to nevypsalo nic a na link mě to přepnulo na nějakou prezentaci od IBM, ale tohlejsem tam nenašel. Koual jsem i na skript, ale z toho už nejsem vůbec moudrej :-( Moje blbost, ale nevím co s tím. |
Martin Humpolec | Re: Uložení dokumentu z WWW |
11.06.2008 14:06:19
ID: 2650.24
| Tak tady to máš sice anglicky, ale po lopatě a fungovat by to mělo :-) možná zkus experimentovat s typem agenta (tuším že by tam mělo být Run Once, use @Commands nebo jak se to teď jmenuje).
link1 |
Josef Voda | Uložení dokumentu z WWW |
11.06.2008 14:12:47
ID: 2650.25
| Dík za tip. Tohle nastavení mám, ale nefunguje. |
Analytik | mrkni na zdroje - snad se k tomu dohrabes |
11.06.2008 14:35:00
ID: 2650.26
| A agenta mam jako "Action menu selection". Ted budu az v pondeli, budu dalsich 1000 km daleko. Jestli budes chtit / klidne ti pak poslu DB. Zdar.
Zdar
Sub subExplodeQueryString(pQueryString As String, pArguments List As String) 'Purpose: ' To parse the Query_String into key and value pairs ' 'Parameters: ' pQueryString -- The Query_String of a URL ' e.g. key=1&page=test&author=Siva+Ramanathan ' pArguments -- A reference to a list to hold the key and value pairs ' of the Query_String ' 'Return Value: ' This routine populates the List variable passed, pArguments with ' a list of key and value pairs from the Query_String passed ' 'Dependencies: ' This code requires these functions ' fnRightBack() ' fnLeftBack() ' fnReplaceSubString() ' 'Author: ' Siva Ramanathan -- link1 %REM 'List to store the key/value pairs from the Query_String Dim docContext as NotesDocument Dim session as NotesSession, txtQueryString as String
Set session = New NotesSession Set docContext = session.DocumentContext txtQueryString = docContext.Query_String(0)
'Decode the query string by calling our routine Dim lstQueryString List As String Call subExplodeQueryString(txtQueryString,lstQueryString )
'At this line, lstQueryString will contain all key/value pairs 'For e.g. if the Query_String is user=Siva&id=5 ' lstQueryString("user") will be "Siva" ' lstQueryString("id") will be "5" %END REM Dim strArgs As String Dim Decode As Variant 'Decode = Evaluate( |@URLDecode("Domino"; "| & Strright(pQueryString, "OpenAgent&") & |")| ) strArgs = fnRightBack(pQueryString, "OpenAgent&") 'strArgs = Decode(0) Dim varArgsList As Variant varArgsList = Evaluate({@Explode("} & strArgs & {"; "&")}) Dim strArgKey As String Dim strArgValue As String Forall Arg In varArgsList strArgKey = fnLeftBack(Arg, "=") strArgValue = fnRightBack(Arg, "=") pArguments(strArgKey) = fnReplaceSubString(strArgValue,"+"," ") End Forall End Sub
|
Josef Voda | RE:mrkni na zdroje - snad se k tomu dohrabes |
IT
11.06.2008 17:39:29
ID: 2650.27
| Kouknu se na to, snad to z toho pochopím. Jsem asi dost hroznej. Co se týká poslání DB, tak mi tím dost helfneš. Dík |
Josef Voda | RE:mrkni na zdroje - snad se k tomu dohrabes |
IT
11.06.2008 20:05:41
ID: 2650.28
| Čau, tak jsem koukal na script, ale nevím, co je vlastní funkce a kde začíná hlavní script. Teda jestli jsem to správně pochopil. No budu ještě louskat, ale jestli to k něčemu bude nvevím :-) |
Josef Voda | RE:mrkni na zdroje - snad se k tomu dohrabes |
IT
16.06.2008 07:59:14
ID: 2650.29
| Čau, tak jsem koukal do helpu od Designera, ale nevidém souvislosti. No snad to časem pochpím. :-) |
Analytik | Zdar, |
20.06.2008 07:56:56
ID: 2650.30
| pošli mi svuj mail SMS-kou na telefonní číslo: +7 916 335 75 61
Pošlu celou DB k testování mejlem, o víkend by snad měl být čas. Díky a všem zdar. |