Скорее всего будет необходимо прикрутить это к вордпрессу. Судя по всему объём работы небольшой, жду.
Уже вроде бы 10 человек просмотрело запись, поэтому напишу: Если вы можете просветить меня по поводу того, сколько времени такое может занять и сколько может стоить - буду благодарен. Я относительно представляю, но не хотелось бы оказаться в дефеците информации, когда нанявшийся на работу скажет, мол, делать это надо полгода, а стоить это будет 5 миллионов.
Вордпресс не является строгим условием, но без него объём работы по идее сильно возрастёт. Если конечно прикручивание этой системы к нему не будет более сложным. Нужно сгенерировать базу из, скажем, полумиллиона пользвоателей, чтобы id у них был такой же как и логин - семи/шестизначное случайное число (то есть, без порядковости) и пароль тоже такое же случайное число (но другое, ясное дело). Помимо этого нужно настроить такую штуку, как "включение доступа к инвайтам". Не знаю уж как ещё назвать. Суть в том, что я могу аккаунту открыть доступ к трём (если как на схеме) логинам/паролям для того, чтобы он по ним приглашал людей. То есть у пользователя будет только логин и пароль вида 2938783 8002732, никаких почт и личных данных не нужно. Плюс пара доп. параметров аккаунта, которые будут отображаться в древе (как зелёная-красная лампочка, например и одна цифра (что-то вроде "ранга")). Древа графически изображать нужно будет небольшие - верхний по древу относительно пользователя (тот, кто пригласил), и его "нижние" (кого он пригласил). Кто выше и ниже больше, чем на 1 уровень - не важно для пользователя. Админу общей картины графически изображать не нужно.
Если я правильно понял, Вам нужно графическое отображение одного узла (со связями) обычной пирамиды. Причём узел может иметь четыре связи, одна с вышестоящим, три с нижестоящими. Так? БД данных есть? Или нужно создать заново? Нужно только показать связи или нужно ещё и управление/редактирование ими?
Количество связей с нижестоящим может быть и не три будет, но это наверняка не важно. Везде одинаковое, одним словом. Я же на все вопросы уже написал ответы. БД надо сгенерировать (написано как). Управление заключается в открытии доступа на логины-пароли (что глупо и сложно, как я только что понял), либо доступа на те аккаунты, логины-пароли которых есть у пользователя в распоряжении. Нужно ещё как-то прикрутить к аккаунтам эти логины-пароли. Чтобы внутри акка уже было где-то записано, какие логины-пароли у аккаунтов, которые от него отходят по схеме.
Всё очень путанно, я опять ничего не понял. И так, по порядку... 1) С архитектурой связей понятно. 2) Наполнить БД тестовыми данными нет проблем. (По Вашему будет "сгенерировать БД") Я спрашивал о другом: структура БД уже создана? Или необходимо будет разработать эту структуру и создать её описание (в виде SQL-команд)? В общем-то ничего сложного, просто уточняю задачу. 3) Что есть "открытии доступа на логины-пароли"? И что есть "либо доступа на те аккаунты, логины-пароли которых есть у пользователя в распоряжении"? И зачем это? Если я правильно понимаю задачу, Вам просто нужно установить связи узла(юзера) с другими узлами(юзерами). Если так, то никаких логинов и паролей других юзеров знать не нужно, достаточно их ИД. Вообще, уверен, что Вам известно, что логин/пароль юзера должен быть известен только этому юзеру - поэтому я не понел Вашу мысль по их поводу, уточните. 4) "...какие логины-пароли у аккаунтов, которые от него отходят по схеме." Это понятно. Вообще, это схемотехника внутри БД, - ничего сложного, 1-2 дополнительные таблички внутри БД для связей одного узла с N другими узлами. 5) Достаточно ли решения задачи типа "чёрный ящик" для использования его Вами или другим разработчиком в Вашем существующем проекте? Или необходимо встроить решение в уже существующий проект с учётом всех его особенностей, в т.ч. уже существующей структуры БД и имеющегося кода?
смотря как подходить к этому вопросу можно так http://www.php.ru/forum/viewtopic.php?t=27758&start=0 можно так http://www.php.ru/forum/viewtopic.php?p=253228#253228
1) Хорошо. 2) Хорошо. 3) Ну вот например я новый пользователь. Меня пригласил другой передав мне логин и пароль (послед чего пароль я по-ме-нял (поэтому он будет известен только одному пользователю)). Теперь у меня по схеме есть пустые ячейки для приглашения людей. И есть уже (где-то) место, где написаны для каждой ячейки логин и пароль для приглашения в систему. Но до определённого момента они заблокированы. И мне (уже админу) нужна такая кнопка, которая будет совершать разблокировку аккаунтов для того, чтобы пользователь мог приглашать по данным ему логинам-паролям людей. 4) Хорошо. 5) Единственная особенность, которую хотелось бы учесть - это вордпресс. Никаких сложных особенных структур в сайте больше не предполагается. Система аккаунтов будет основной, если можно так сказать.
Pavel_php криво это все, приглашения должны зависеть от сферического уровня в вакуме/количества рейтинга/денег на счету бедный админ =) а логин и пароль должен генерироваться на лету по мере необходимости, а не быть забитым заранее
2) Если я правильно понял... Т.е. уже есть некая структура в БД в которой хранятся данные аккаунта. И нужно только разработать структуру БД именно для дерева связей. Так? Или нужно ещё добавить хранение каких-либо дополнительных данных в аккаунте (для юзера)? 5) Понятно. Т.е. нужно добавить возможность работы с WP (с его БД и его кодом). Так? 4) пишу...
Есть система аккаунтов вордпресса, но она просто невероятно глупая. Никаких данных пока нет. Система аккаунтов может быть никак не связана с вордпрессом, главное - чтобы они вместе работали. Например комментирование на сайте от имени аккаунта не нужно. 5) Ну да. Чтобы вход на wp-сайт (без логина сайт закрыт) осуществлялся через аккаунты этой новой системы и внутри wp-сайта можно было смотреть на это мини-древо с некоторыми новыми переменными-в-аккаунтах (число, скажем, 0-99 в отдельном маленьком окошечке, которое назначаю и меняю я, как админ, и кнопочка зелёный-красный, которую может переключать сам пользователь).
3) Один фиг не понял А если условия непонятны, то задача нерешаема. Попытаюсь догадаться... Вам нужно чтобы юзер мог рассылать приглашения другим юзерам присоединиться к нему. Если приглашённый юзер даёт согласие присоединиться, то образуется связь с приглашающим юзером. Если отказывается, то никакой связи не образуется. Если связь образована (т.е. приглашённый согласился присоединиться), то ему становится доступна возможность приглашать других. Но изначально ему можно пригласить 0 юзеров. Чтобы юзер мог пригласить других юзеров, админ должен указать(разрешить) ему число возможных приглашённых. Так? Т.е. опять логин/пароль не нужно. Достаточно послать приглашаемому уникальный URL странички, где будет две кнопки "Согласен присоединиться" и "Пшёл нафиг!". Ну тут понятно надеюсь, - по Согласен образуется связь, по Пшёл ничего не делается. 6) Кстати, а возможность "отсоединиться" Вы включили в задачу? Или это не нужно?
5) Эээ, т.е. Вам ещё нужно сделать вход на сайт? (судя по "Чтобы вход на wp-сайт ... осуществлялся через аккаунты этой новой системы"). Я то думал, что вход на сайт будет через Вашу систему, в частности через WP. Или я не понял Вашей фразы?
Во-первих извини, что, судя по всему, плохо объясняю. Теперь... Юзеры будут приглашать других людей не по интернету, по крайней мере не незнакомых людей. Это почему-то вылетело из головы у меня. Поэтому на словах становится ясно - хочет ли человек присоеденится или нет. Если хочет - происходит передача инвайта. Если можно сделать ссылку вида http://www.сайт.ru/инвайтХХХХХХ, при переходе по которой будет та самая кнопка "Хочу!" и, раз такое дело, выбор логина и пароля (айди по прежнему нужно генерировать случайный, а не последовательный) - то здорово. И да, изначально ему можно пригласить 0 юзеров. Уменьшать-увеличивать мне не нужно. Всё что нужно - одним разом разрешать юзеру совершать пришлашения. Количество приглашённых для всех аккаунтов будет одинаковое. Пусть 4. Возможность отсоединяться не нужна. Ну на данный момент у меня вордпресс так и настроен, что вход только через ввод логина-пароля. Всё, что нужно, насколько я понимаю - это привязать базу логинов-паролей к WP. Или не так?
Хм, легко. Любая защита состоит из двух: - техническая - административная Ссылка это техническая часть.
О существовании этого закрытого сообщества будут знать только те, кому лично рассказали. А если им стало интересно - они и так получат ссылку эту. Если не стало интересно - то зачем им подбирать такую ссылку? Хотя конечно можно и посложнее, просто некоторая часть целевой аудитории такая, что ей легче на бумажке написать и передать, чем "отправить ссылку". Сайт будет закрыт от индексации поисковиками и нигде не будет пиариться.
Когда запущу, когда после запуска пройдёт 1-2 месяца - смогу сказать. Сайт некоммерческий. Не вроде лепры. Ничего сверхинтересного нет.
Эээ, если приглашение будет в оффлайне методом, что-то вроде вручения визитки, на которой будет напечатан логин/пароль для присоединения, то это действительно дыра в безопасности да и не логично это. Во-первых, логин+пароль не нужен, достаточно простого уникального кода, типа как на карточках оплаты телефона, например. Во-вторых, логичнее было бы так: человек регистрируется на сайте, затем получает URL приглашения или вводит с визитки код присоединения. Регистрировать приглашаемого автоматом на сайте как реферала (по даденным логину/паролю) нехорошо. Но ... хозяин-барин, как скажешь так и будет. GUID в качестве ИД - случайнее некуда. Ну, я пока вижу так: создать несколько табличек в БД для расширения данных аккаунта и создания связей между юзерами. Создать страничку присоединения. Создать страничку ввода/редактирования дополнительных данных аккаунта. Создать страничку для показа связей. Создать страничку для админа (для администрирования связей). При этом ИД юзера брать из внешней (к этой примочке) системы, в частности WP. Юзер регистрируется на сайте обычным для установленной системы способом (например WP, ну или любой другой). Встроить систему в WP. Что ещё забыл? п.с. Кстати, я там письмецо послал на указанный e-mail.
Хотелось бы, чтобы регистрационная форма была закрыта для случайного прохожего. Т.е. человеку, который каким-то невероятным образом забёл на сайт, должна быть доступна только табличка с полями "логин", "пароль" и, если такое возможно, полем "уникальный код" или что-то в этом роде. Получается, что обладатель такого кода просто вводит его в это поле и жмёт кнопку - после чего попадает на страницу для регистрации своего логина и пароля для дальнейших входов. Айди его уже будет настроен так, что он встроен в древо на нужном месте. Просто так регистрироваться зачем? Сайт должен быть недоступен без инвайта. Так а если по дадённому уникальному коду? Прекрасно. Если бы я хорошо понимал процесс создания, а обращался сюда только по причине наличия у меня крайне кривых рук - я бы мог более осознано ответить. Но всё равно попробую. - Про таблички в БД не знаю. - Страничка присоеденения теперь мне представляется, как третье поле после полей Логин и Пароль на той странице сайта, когда он закрыт для незалогиненого юзера. - После ввода кода в это третье поле получается переход на эту страницу ввода/редактирования доп. данных и данных вообще. - Страничка связей должна быть доступна по прямому переходу с главной, на страничку такого же дизайна, просто с этой схемой. Функциональность отличает её от простой картинки тем, что на ней можно будет переключить на своём отображении ту "лампочку" (малекький кружок\квадратик в углу блока обозначающего человека в древе). С белого на чёрный, например. Это (лампочка) вроде совсем несложная функция, так что не стоит на неё много внимания сейчас обращать. - Страничка для админа. Ну наверное нужно. - Зачем брать ИД юзера из внешней? ИД просто не должен раскрывать последовательность людей. А для WP (для входа на сайт) нужны только логин-пароль. - Опять же про регистрацию. Писал выше. - Встроить систему в WP. Ну если это отдельной функцией называть после всего вышеперечисленного - то да.
Ну да, что-то в этом роде - собственно код приглашения нужен только для доступа к регистрации на сайте. В зависимости от, можно сделать: - Посетитель заходит на сайт, у него требуют код. Вводит код и попадает на стандартную страницу регистрации WP. - Можно чуть изменить WP, т.е. добавить одно поле (код приглашения) на страницу регистрации. Но это не очень хорошо, потому что затрагивает основную систему - в первом случае лучше, примочка и основная система независимы, хотя и не совсем красиво. Я бы всё-таки рекомендовал код вводить отдельно, до регистрации. Т.е. сделать примочку независимую от WP, тогда будет возможность апгрейдить основную систему, например. Ok. Как правило во всех системах ИД юзера присутсвует в некоторых ссылках (например, на просмотр его аккаунта). Поэтому просто так отказаться от него не удастся, для этого надо будет явно вклиниваться в установленную систему, как правило. Надо посмотреть как с этим в WP, может предуспотрели. Это не отдельная функция, это одно из условий (один из пунктов) задачи. Есть и более мелкие, просто мы их пропустили как само собой разумеещеся или недостойные внимания. п.с. Иногда я участвую в проектах, где ТЗ чуть ли не до последней запятой расписано. Писать там легко - работаешь как обычный кодёр, но так нудно! Зато практически нет вопросов ни от ни к. А вот задачки типа "а сделай ка ты мне вот это, я ещё не знаю что хочу, но хочу!" гораздо интересней, хотя вопросов и претензий друг к другу уйма при этом.