настольное приложение / скрипт для взаимодействия с javascript в веб-приложении - PullRequest
0 голосов
/ 01 июня 2011

Моя работа поручила мне определить целесообразность перехода наших существующих встроенных служб управления изменениями (через Интернет) на решение Sharepoint.Я обнаружил, что все легко, за исключением того, что я столкнулся с проблемой, что для каждой проблемы управления изменениями (несколько тысяч) может быть любое количество файлов вложений, связанных с ними, вызываемых через javascript, которые необходимо загрузить и поместить вбиблиотека документов.

(например, ... onClick = "DownloadAttachment (XXXXX, 'ProjectID = YYYY'); вернуть false"> Вложение ...).

Сохранитья выбираю их вручную, я просматривал сообщения людей, желающих сделать подобное, и кажется, что есть много возможных решений, но они часто кажутся более сложными, чем они должны быть.

Так что я полагаюКороче говоря, я спрашиваю, как лучше всего подойти к этой проблеме, которая дает какое-то настольное приложение или скрипт, который может взаимодействовать с веб-страницами и позволит мне выбрать и упорядочить все вложения.(Создание чисто веб-приложения (php, javascript, rails и т. Д.) Для меня не вариант, поэтому добавлю это сейчас).

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 02 июня 2011
  1. Учитывая идентификатор документа и идентификатор проекта, XXXXX и YYYY соответственно в ваш пример, выяснить URL из которого содержимое файла может быть скачал. Вы можете наблюдать несколько URL ссылки в браузере и обнаружение шаблон, который ваш веб приложение использует.

  2. Используйте такой инструмент, как Селен, чтобы получить список XXXXX с и YYYY с документы, которые нужно загрузить.

  3. Напишите bash-скрипт с wget для скачать файлы локально и поставить в правильных папках.

0 голосов
/ 02 июня 2011

Спасибо всем.Я смог получить то, что мне было нужно, используя htmlunit и java, чтобы просмотреть отчет, который я сделал по всем элементам изменений с вложениями, перейти к каждому, скопировать исходный код, пройти по нему, чтобы найти экземпляры метода загрузки, и скопировать уникальные идентификаторыкаждого вложения и создайте .xls всех элементов и их вложений.

0 голосов
/ 02 июня 2011

Это однократная миграция, верно?

  1. Получите доступ к базе данных вашего внутреннего приложения и создайте SQL-запрос, который извлекает строки, показывающие имена вложений (XXXXX?) И проблему / проект (YYYY)?), например:

    |file_id|issue_id|file_name           |  
    |      5|     123|Feasibility Test.xls|
    
  2. Проанализируйте метод DownloadAttachment и выясните, как он генерирует URL, который он вызывает для каждой загрузки.

  3. Запустите скрипт (лично я бы выбрал Python), который будет выполнять миграцию.
  4. Запрограммируйте скрипт для подключения и запуска SQL-запроса или можете прочитать CSV-файл, созданный вами вручную на шаге 1.
  5. Запрограммируйте сценарий, чтобы использовать детали для определения целевого имени файла и URL-адреса для загрузки.
  6. Запрограммируйте сценарий для загрузки файла с указанного URL-адреса и поместите его на жесткий диск.диск с правильным именем.(В Python вы можете использовать urllib .)

Надеемся, что это даст вам кучу файлов, классифицированных по «проблеме», например:

issue123/Feasibility Test.xls
issue123/Billing Invoice.doc
issue456/Feasibility Test.xls
...