Необходимо отметить однако, что эти Array.filter
не поддерживается во всем браузере так, Вы должны к смоделированному:
//This prototype is provided by the Mozilla foundation and
//is distributed under the MIT license.
//http://www.ibiblio.org/pub/Linux/LICENSES/mit.license
if (!Array.prototype.filter)
{
Array.prototype.filter = function(fun /*, thisp*/)
{
var len = this.length;
if (typeof fun != "function")
throw new TypeError();
var res = new Array();
var thisp = arguments[1];
for (var i = 0; i < len; i++)
{
if (i in this)
{
var val = this[i]; // in case fun mutates this
if (fun.call(thisp, val, i, this))
res.push(val);
}
}
return res;
};
}
И выполнение так, можно моделировать любой метод, в котором Вы, возможно, нуждаетесь.
Почему вы считаете, что дублирование данных - неправильный путь? Инструменты отчетности (веб-интерфейсы и другие) в основном построены на основе СУБД, поэтому любое смешение и совпадение приведет к ненужным сложностям. Скорее всего, отчеты придется менять довольно часто (исходя из опыта), поэтому вы хотите, чтобы они были как можно более простыми. Данные, которые вы храните о пользователях, вряд ли будут очень часто менять свой формат, поэтому после того, как ваша функция импорта заработает, вам не нужно будет снова ее трогать.
Единственное препятствие, которое я вижу, - это задержка: как обеспечить актуальность вашей копии СУБД? Возможно, вам потребуется убедиться, что ваш код обновления записывается в оба места назначения. Лично я также не стал бы использовать LDAP для личных предпочтений конкретного приложения: LDAP не может обрабатывать транзакции, так что же происходит, когда данные обновляются с нескольких направлений? (Транзактность, конечно, также является проблемой, позволяющей программам обновления писать в оба хранилища ...) Я бы предпочел позволить РСУБД быть главной для большинства данных, а LDAP заботиться только об идентичности, учетных данных и правах, которые редко меняются и только для одного набора целей. Для меня способность LDAP работать с иерархическими данными не так уж и хороша.
Дублирование данных - не всегда плохо, особенно когда сценарии использования достаточно разные.
которые меняются редко и только для одной цели. Для меня способность LDAP работать с иерархическими данными не так уж и хороша.Дублирование данных - не всегда плохо, особенно когда сценарии использования достаточно разные.
которые меняются редко и только для одной цели. Для меня способность LDAP работать с иерархическими данными не так уж и хороша.Дублирование данных - не всегда плохо, особенно когда сценарии использования достаточно разные.