অজানা ব্যবহারকারীদের কীভাবে সামগ্রীর অখণ্ডতা বজায় রেখে পোস্ট করার অনুমতি দেওয়া যেতে পারে?


8

কিছুটা ব্যাকগ্রাউন্ড: আপনি যেমন http://charlotte.ebayclassifieds.com তে দেখেন , আপনি যদি 'বিজ্ঞাপন পোস্ট করুন' ক্লিক করেন এবং তারপরে কোনও বিভাগ চয়ন করেন তবে আপনি ফর্মটি পূরণ করতে এবং সাইন আপ না করে সামগ্রী জমা দিতে পারেন। এটি ইমেল ঠিকানা ক্ষেত্রে বৈধতা ইমেল প্রেরণ দ্বারা সম্পন্ন এবং পরিচালনা করা হয়, যখন ক্লিক করা হয়, কোনও ব্যবহারকারীকে তাদের বিষয়বস্তু চালিত করার অনুমতি দেয়।

ড্রুপালে একই কার্যকারিতা অর্জন করা যায়। আমি কোনও মডিউল লিখতে আপত্তি করি না, তবে আমি করার আগে, আমি নিশ্চিত করতে চাই যে আমি চাকাটি পুনর্নবীকরণ করছি না।

আমার সম্প্রদায়ের জন্য http://www.gastonia.com এ একটি দ্রুপাল ভিত্তিক স্থানীয় শ্রেণিবদ্ধ সাইট রয়েছে । সাইটটি বেনামে ট্র্যাফিকের সাথে বাড়ছে, তবে খুব কম ব্যবহারকারী পোস্ট করতে সাইন আপ করছেন। সম্প্রদায়ের সাথে বেশ কয়েকটি প্রতিক্রিয়া অবলম্বন করার পরে, প্রায় সকলেই বলছেন যে প্রবেশের ক্ষেত্রে একটি প্রতিবন্ধকতার জন্য অ্যাকাউন্টে সাইন আপ করতে হবে, ইমেল চেক করতে হবে, যাচাই করতে হবে, কোনও বিজ্ঞাপন পোস্ট করার জন্য কীভাবে নেভিগেট করতে হবে ইত্যাদি ইত্যাদি - আসলে 7 টি পদক্ষেপ রয়েছে কোনও বিজ্ঞাপন আসলে প্রকাশিত হওয়ার আগেই যেতে হবে। এটা খুব বেশী..

আমরা এটি দুটি ক্লিকে নামিয়ে আনতে সক্ষম হতে আর্কিটেকচারটি পুনর্নির্মাণ করেছি - পোস্ট করতে ক্লিক করুন, তারপরে সংরক্ষণ করতে ক্লিক করুন। আরও সুনির্দিষ্টভাবে, কোনও ব্যবহারকারী 'সামগ্রী যুক্ত করুন' এবং নোড / অ্যাড ফর্ম পপ আপগুলিতে ক্লিক করে (নতুন আর্কিটেকচারে এখন কেবলমাত্র একটি সামগ্রীর ধরণ রয়েছে); তারপরে, তারা হয়ে গেলে, তারা সংরক্ষণ ক্লিক করে।

মূলত আমি ইনলাইন নিবন্ধকরণ মডিউল সম্পর্কে ভেবেছিলাম , তবে এটি এখনও ডিইভিতে রয়েছে এবং যদি ব্যবহারকারী একই ইমেল ঠিকানা (লগইন না করে) দিয়ে আবার পোস্ট করতে আসে তবে সমর্থন করার পক্ষে যুক্তিটি সত্যই সেখানে নেই। আমি এটি পরিবর্তন করতে পারে, কিন্তু তারপরে আমরা একটি মডিউল লিখতে ফিরে আসি।

আমি বিধিগুলি সম্পর্কেও ভেবেছিলাম - নিয়মগুলি কি ebayclassifieds সাইটের মতো একই কার্যকারিতা পরিচালনা করতে পারে বা আমি যা করার চেষ্টা করছি? এটি সমস্ত নোড / অ্যাড ফর্ম (সিআরইউডি কার্যকারিতা) এ দায়ের করা ইমেলের উপর ভিত্তি করে তৈরি করা হবে।

কার্যকারিতা অর্জনের জন্য আপনি কোন দিক বা রেসিপিটির পরামর্শ দিবেন? অবশ্যই এখানে চূড়ান্ত লক্ষ্য আনয়ন ব্যবহারকারীদের পোস্ট করার অনুমতি দেওয়া; ভবিষ্যতের ব্যবহারের জন্য পর্দার পিছনে একটি অ্যাকাউন্ট তৈরি করুন; এমনকি ইতিমধ্যে অ্যাকাউন্ট রয়েছে (এবং সেই অনুযায়ী বিষয়বস্তু নির্ধারণ করুন) এমন ইমেলযুক্ত ব্যবহারকারীদের জন্যও আনন ফর্মটি ব্যবহারের অনুমতি দিন যা ব্যবহারকারীর সাইন আপ করে কোনও অ্যাকাউন্ট প্রমাণীকরণ করে সিকিউরিটি বজায় রেখে (স্প্যাম, বট থেকে) সরবরাহ করে all

সম্পাদনা: 4/1/2013 গিসল হ্যানিমায়ার বেনামে প্রকাশনা মডিউলটিকে পুনরুদ্ধার করেছেন যা এখানে এবং অন্যান্য পোস্টে বর্ণিত লক্ষ্য অর্জনের খুব কাছাকাছি। মডিউল বাগটি কীভাবে বিনামূল্যে এবং আরও উন্নত করা যায় সে সম্পর্কে কিছু সম্প্রদায়ের প্রতিক্রিয়া জানানোর জন্য দয়া করে থ্রেডে অংশ নিন: http://drupal.org/node/1957644


আমি কিছুক্ষণ আগে অনুরূপ একটি প্রশ্ন জিজ্ঞাসা করেছি: drupal.stackexchange.com/questions/25194/…
পল-মি

আপনার ব্যবহারকারীদের জন্য ওআউথ / ওপেনআইডি কি খুব বেশি হবে? জেনরাইন এটি লগইন করার জন্য একটি হাওয়া করে তোলে।
ক্যাপী ইথেরিয়েল

আমি জেনরিন সম্পর্কে কখনও শুনিনি, তবে লগইন করতে লোকেরা অন্যান্য অ্যাকাউন্ট ব্যবহার করার মত ধারণাটি আমি পছন্দ করি। ডিএসইতে এখানে আমি সর্বদা আমার Google অ্যাকাউন্ট ব্যবহার করি। এর মত সহজ?
নীল 928

উত্তর:


7

আমি মনে করি না যে এটি কেবল নিয়ম দিয়েই সম্ভব possible

যাচাইকরণ ইমেল ঠিকানা ক্যাপচার করার জন্য আপনাকে জমা দেওয়ার ফর্মটি পরিবর্তন করতে হবে এবং স্প্যামারদের নিষিদ্ধ করতে এবং ফিরে আসা দর্শকদের সনাক্ত করতে আপনার কিছু যুক্তিও প্রয়োজন।

আমি বেনামে প্রকাশনা নামে একটি প্রকল্পের রক্ষণাবেক্ষণকারী । দেখে মনে হচ্ছে এই মডিউলটি আপনি যা চান তা করে।

এটি এখনও বিকাশে রয়েছে, তবে ড্রুপাল version সংস্করণটি বেশ কয়েকটি সমস্যা ছাড়াই আমার বেশ কয়েকটি প্রোডাকশন সাইটে ব্যবহার করা হয়েছে। অনুগ্রহপূর্বক এটি ভালো করে দেখুন.

আপনি এই প্রশ্নের উত্তরের উত্তরগুলিও দেখতে চাইতে পারেন ।


এর জন্য ধন্যবাদ, কোডটি পরীক্ষা করে কিছুটা সময় ব্যয় করবে!
নীল 928

আমি drupal.org/node/1957644 এ একটি থ্রেড তৈরি করেছি তা দেখার জন্য যে আমরা সেই মডিউলটি সম্পর্কে কোনও সক্রিয় আলোচনা পেতে পারি না। পুনরুদ্ধার করার জন্য ধন্যবাদ।
নীল 928

2

আমি সাম্প্রতিক প্রকল্পে এর সাথে মিলিয়ে একটি নতুন মেনু কলব্যাক তৈরি করে কিছু অর্জন করেছি - এমন কিছু example.com/anon_user- যা এমন ফর্ম সরবরাহ করে যা লগইন এবং একটি রেজিস্ট্রেশন ফর্ম হিসাবে দ্বিগুণ হয়। এটি ব্যবহারকারীর খুব দ্রুত নিবন্ধকরণ প্রক্রিয়াটি অ্যাক্সেস করতে বা খুব বেশি ক্রিয়া না করে লগইন করতে দেয়। এটি আসলে বেশ ভালভাবে গৃহীত হয়েছে received

এটি প্রদর্শনের জন্য কিছু সরল কোড এখানে দেওয়া হয়েছে:

function example_form($form, &$form_state) {
  // Don't let authenticated users use this form.
  global $user;
  if ($user->uid != 0) {
    return MENU_ACCESS_DENIED;
  }

  // Let the user know what they can do.
  $form['intro']['#markup'] = "Already have an account? Login here. Don't have an account? Enter your email address and create a password and we'll setup an account for you.");

  $form['login'] = array(
    '#type' => 'fieldset',
    'user_email' => array(
      '#type' => 'textfield',
      '#required' => TRUE,
      '#title' => t('E-mail Address'),
    ),
    'user_pass' => array(
      '#type' => 'password',
      '#required' => TRUE,
      '#title' => t('Password'),
    ),
  );

  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => 'Continue',
  );

  return $form;
}

আপনার যা প্রয়োজন তা যাচাই করুন:

function example_form_validate(&$form, &$form_state) {
  if (!valid_email_address($form_state['values']['user_email'])) {
    form_set_error('user_email', 'You entered an invalid email address.');
  }
}

সাবমিট হ্যান্ডেলারটিতে, আমাদের এই ইমেলটি ইতিমধ্যে উপস্থিত রয়েছে কিনা এবং তাদের লগ ইন করার চেষ্টা করা দরকার তা খুঁজে বের করতে হবে it এটি উপস্থিত না থাকলে তাদের জন্য একটি অ্যাকাউন্ট তৈরি করার চেষ্টা করুন।

function example_form_submit(&$form, &$form_state) {
  global $user;

  // Does this account already exist?
  if ($user_name = db_query("SELECT name FROM {users} WHERE mail = :mail", array(':mail' => $form_state['values']['user_email']))->fetchField()) {
    // Attempt to log them in.
    if ($account_id = user_authenticate($user_name, $form_state['values']['user_pass'])) {
      drupal_set_message('You have been logged in.');
      $user = user_load($account_id);
    } else {
      drupal_set_message('You have an account here, but you entered the wrong password.', 'error');
    }
  } 

  // Create the account.
  else {
    // Use their email address as their username. Or handle this with a more complex login form.
    $account_name = str_replace('@', '_', $form_state['values']['user_email']);
    $account = user_save(null, array(
      'name' => $account_name,
      'pass' => $form_state['values']['user_pass'],
      'mail' => $form_state['values']['user_email'],
      'init' => $form_state['values']['user_email'],
      'status' => 1,
      'access' => REQUEST_TIME,
    ));
    // Log 'em in to their new account.
    drupal_set_message('Your account has been created and you have been successfully logged in!');
    );
    $user = user_load(user_authenticate($account->name, $form_state['values']['user_pass']));
  }
}

এটি একটি খুব সহজ উদাহরণ। আপনি পাসওয়ার্ডের প্রয়োজনীয়তা, ২ য় ক্ষেত্রের মাধ্যমে পাসওয়ার্ড নিশ্চিতকরণ, একটি ব্যবহারকারীর নাম ক্ষেত্র, আরও ভাল সতর্কতা ইত্যাদি যুক্ত করতে পারেন the প্রক্রিয়াটি যত বেশি বাধা দেয়, তাই এটি মনে রাখা দরকার।


2

"নিবন্ধকরণ বাধা" কমিয়ে আনার জন্য আপনি অনেকগুলি উপায় যেতে পারেন:

  • একটি ফেসবুক অ্যাকাউন্ট দিয়ে লগইন করতে ফেসবুক সংযোগ ব্যবহার করুন (আমি fboauth মডিউলটি ব্যবহার করি এবং পছন্দ করি )
  • অন্যান্য সামাজিক লগইন মডিউলগুলি রয়েছে যা গুগল, পেপাল, ইয়াহু, ওপেনিড, ইত্যাদি সমর্থন করে
  • আপনি ইমেল নিশ্চিতকরণের প্রয়োজন না রেজিস্ট্রেশন বিকল্প পরিবর্তন করতে পারেন।

আপনার শেষ প্রশ্নের উত্তর দিতে:

কার্যকারিতা অর্জনের জন্য আপনি কোন দিক বা রেসিপিটির পরামর্শ দিবেন? অবশ্যই এখানে চূড়ান্ত লক্ষ্য আনয়ন ব্যবহারকারীদের পোস্ট করার অনুমতি দেওয়া; ভবিষ্যতের ব্যবহারের জন্য পর্দার পিছনে একটি অ্যাকাউন্ট তৈরি করুন; এমনকি ইতিমধ্যে অ্যাকাউন্ট রয়েছে (এবং সেই অনুযায়ী বিষয়বস্তু নির্ধারণ করুন) এমন ইমেলযুক্ত ব্যবহারকারীদের জন্যও আনন ফর্মটি ব্যবহারের অনুমতি দিন যা ব্যবহারকারীর সাইন আপ করে কোনও অ্যাকাউন্ট প্রমাণীকরণ করে সিকিউরিটি বজায় রেখে (স্প্যাম, বট থেকে) সরবরাহ করে all

আমি একটি "বেনামে নোড রেজিস্ট্রেশন" বৈশিষ্ট্যটি ব্যবহার করার পরামর্শ দিচ্ছি (আপনি চাইলে কোডটি ভাগ করতে পারেন)। আমি "নাম" এবং "ইমেল ঠিকানা" ক্ষেত্রগুলিকে "নোড অ্যাড" ফর্মটিতে যুক্ত করি।

ইমেলটি ইতিমধ্যে বিদ্যমান না থাকলে এটি একটি নতুন ব্যবহারকারীর অ্যাকাউন্ট তৈরি করবে। এটি ব্যবহারকারীর নাম তৈরি করতে প্রথম নাম ব্যবহার করে এবং এটি অনন্য করতে প্রয়োজনে সংখ্যা যুক্ত করে।

পাসওয়ার্ডটি এলোমেলোভাবে সেট করা হয় এবং পাসওয়ার্ড পরিবর্তন করার জন্য একটি লিঙ্কের সাথে নোড জমা দেওয়ার পরে ব্যবহারকারীর কাছে প্রদর্শিত হয়।

এছাড়াও, ইমেল নিশ্চিতকরণগুলি স্প্যাম বটগুলিকে সাইন আপ করা থেকে বিরত রাখবে না। আমি স্প্যামবট মডিউলটি উচ্চভাবে সুপারিশ করি ।


2
আপনি যে কোডটি ভাগ করে নিতে পারেন তা উল্লেখ করেছেন। তাহলে আপনি ইতিমধ্যে নিজের ব্যবহারের জন্য একটি মডিউল লিখেছেন? আপনি যদি এটি অন্য কোথাও অনলাইনে রাখতে চান তবে আমি এটি একবার খেয়াল করতে চাই। ধন্যবাদ!
নীল 928

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.