2010-07-13 3 views
4

У меня есть список excel (excel 2003), где пользователь вводит переводы для токенов. Он имеет 3 столбца (ключ, значение, язык). Это может быть что-то вроде ключа: Login.Header, значение: «Войти на сайт» Язык: ru.Что такое формат слияния для ввода текстовых токенов

Это работает достаточно хорошо. Я использую этот файл для создания конкретных изображений на веб-сайте, который использует много графики для текстов. Хорошо, что пользователи могут вводить текст без установки нового программного обеспечения, редактирование является приятным, и полученный файл может быть легко прочитан моим скриптом python.

Есть одна мысль, что мне не нравится: если 2 пользователя редактируют файл и имеют много изменений, чем слияние, становится кошмар.

Есть ли решение для редактирования, которое столь же хорошо, как и Excel, в областях, которые я описал, но их можно объединить более легко?

EDIT

Ответы до сих пор объяснить, каким образом система Controll источник может помочь в такой ситуации. Но у меня уже есть SVN.

Вопрос о формате файла. Существуют форматы файлов, которые легко объединяются с клиентом, таким как winmerge (например, исходный код для классов Java или C# backend), и есть другие, которые трудно слить (xml, файлы, сгенерированные при генерации кода). xls - файлы excel 2003 могут быть разными, но для слияния все еще нет хорошего формата.

Я думаю, что есть другое приложение (что-то вроде работы с яблоками, open office, excel 2010 ..), которые позволяют мне редактировать таблицу, но ее можно объединить более легко.

ответ

3

Есть ли редактирование решение, которое так хорошо, как первенствует в областях, которые я описал, но могут быть объединены более легко?

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

  • Если все пользователи находятся в одной сети (LAN, VPN), то первое решение, которые приходят на ум было бы поместить уникальный файл Excel в сетевой ресурс и активировать опцию Shared Workbook. Это работает очень хорошо, и в случае конфликта пользователям предлагается диалоговое окно разрешения конфликтов.

  • Если это не вариант, вы можете разместить свою электронную таблицу в Документах Google. Документы Google очень хорошо работают для совместной работы (легко настроить, кто может получить доступ к документу, вы можете увидеть список подключенных пользователей, совместная версия работает). Затем просто экспортируйте таблицу для обработки, когда это будет сделано.

  • Используйте текстовый редактор для совместной работы, такой как Gobby (многоплатформенная платформа) и работайте над необработанным CSV-файлом. Это не будет очень удобным для пользователей, особенно для нетехников и склонности к ошибкам. Я бы одобрил вышеупомянутые решения.

+1

Общая книга звучит хорошо. Я попробую это. –

3

Одним из подходов было бы экспортировать этот файл Excel в формате XML или CSV. Вместо использования Excel для редактирования текстового файла вместо стандартного двоичного формата xls.

Также рассмотрите возможность разделения одного большого файла на несколько файлов. Это уменьшает вероятность того, что два человека захотят работать в одном файле.

Поместите его под контроль источника и ознакомьтесь с принципами управления источниками. Пусть использование будет связано с объединением файлов. SVN будет вполне разумным для задачи, поскольку это централизованное и не очень сложное решение. Используйте хороший GUI для обычных пользователей.

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

1

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

Черепаха (SVN или Hg) имеет функциональность слияния, которая делает это безболезненным. Но я выступаю в качестве разработчика - у меня было довольно много проблем с внедрением контроля версий для не-разработчиков, даже для компетентных, которые не используют свой CD-лоток в качестве держателя чашки. :)

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

0

Немного известная/используемая функция Excel - это функция «Общая рабочая тетрадь». Вы можете найти его под управлением Инструменты->Поделиться Рабочий стол. Просто установите флажок «Разрешить изменения ...», и вы можете настроить его на вкладке «Дополнительно».

Это не штриховой ни лучший вариант за то, что несколько пользователей применять изменения в таблицу и работают в двух сценариях:

  1. Каждые загружает копию XLS и редактируют на их стороне и загружает обратно в некоторые место нахождения. Затем вы можете взять это и объединить его с оригиналом.
  2. Все открывают одну и ту же копию XLS и вносят изменения в одно и то же время. Затем вы можете объединить все/все изменения.
0

Пусть пользователи используют файл Excel как сейчас, но сохраняют данные в текстовом файле (csv, возможно) под управлением версии. Тогда вам просто нужно:

  • Один маленький скрипт python для преобразования текстового файла в Excel для предоставления пользователю.

  • Один маленький скрипт python для преобразования завершенного файла Excel в текст. Это необходимо для последовательного сортировки данных (например, для ключа и языка) для упрощения слияний.

0

Любой тип плоского файла будет довольно легко слить.

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